
超初級者ですよろしくお願い申し上げます。
下記は、マクロの自動記録で任意のフォルダを指定してマクロ記録で写真を張り付けるマクロです。
自動記録の場合、リンクとして挿入されるようで、環境が変わると画像がリンク切れになります。
それで、調べると、Shapes.AddPictureメソッドにしないとだめみたいのですが
どうしたらいいのでしょうか。
====================================
Sub 図面貼り付け()
Dim folderPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then folderPath = .SelectedItems(1)
End With
If folderPath = "" Then Exit Sub
Range("B11:F41").Select
ActiveSheet.Pictures.Insert("D:\xlsx\tesuto\output_1.jpg").Select
Selection.ShapeRange.IncrementLeft 17.25
Selection.ShapeRange.IncrementTop 15.75
Range("G11:K41").Select
ActiveSheet.Pictures.Insert("D:\xlsx\tesuto\output_2.jpg").Select
Selection.ShapeRange.IncrementLeft 19.5
Selection.ShapeRange.IncrementTop 14.25
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは、
If folderPath = "" Then Exit Sub
Range("B11:F41").Select
ActiveSheet.Pictures.Insert("D:\xlsx\tesuto\output_1.jpg").Select
Selection.ShapeRange.IncrementLeft 17.25
Selection.ShapeRange.IncrementTop 15.75
を書き直すと
If folderPath = "" Then Exit Sub
Range("B11:F41").Select
ActiveSheet.Shapes.AddPicture _
Filename:=folderPath & "\output_1.jpg", _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=Selection.Left + 17.25, _
Top:=Selection.Top + 15.75, _
Width:=-1, _
Height:=-1 'Selection.Width Selection.Height
こんな感じですかね。
IncrementLeft 17.25は、Selection.Left + 17.25で良いと思います。
また、サイズに関しては、設定する必要があります。
取敢えず、Width:=-1 は、元画像のサイズで貼り付けられます。Selection.Widthとすると選択範囲の巾サイズ
あと、folderPathを作成しているのに反映されていませんので、勝手に反映させました。
同様にoutput_2.jpgに対して書き加えれば良いと思いますが、サイズに関しては不明なので設定してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
エクセル 画像のプロパティで縦横比を固定する。 これをVBAでコードにできますか? 知ってる方おられ
Visual Basic(VBA)
-
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
-
4
C# Excelファイルへの画像挿入。
その他(プログラミング・Web制作)
-
5
[VB.net] Excelへの画像貼り付け処理についての疑問
Visual Basic(VBA)
-
6
VBSでワードに画像を貼り付ける
Visual Basic(VBA)
-
7
エクセルに添付された画像が×になり見れない
PowerPoint(パワーポイント)
-
8
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
9
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
10
マクロで選択した図形の選択状態を解除するには
Excel(エクセル)
-
11
複数の画像ファイルを挿入したい
Excel(エクセル)
-
12
VBAの内容の修正をお願いさせて頂きます
Excel(エクセル)
-
13
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
14
ファイル名「1.jpg ~10.jpg~」のソート
Visual Basic(VBA)
-
15
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
16
2つのjpegを1つのjpegにまとめる方法は?
その他(ソフトウェア)
-
17
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
18
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
19
エクセルで開いていないbookのセルの値が欲しい
Excel(エクセル)
-
20
エクセルに画像を貼付け縮小する作業をマクロにしたいのですが、
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルVBAで新規シートにマク...
-
5
ファイル名を今日の日付、時刻...
-
6
VBAを使ってエクセルシート...
-
7
ピボットグラフの書式の固定に...
-
8
【ExcelVBA】クエリの更新とピ...
-
9
Pictures.Insertメソッド⇒Shape...
-
10
EXCELにクリップボードにある画...
-
11
エクセルで「ODBC Microsoft Ac...
-
12
VBA[Private Sub]のコードをシ...
-
13
どのドキュメントは暗号化され...
-
14
別ブックからユーザーフォーム...
-
15
Wordのマクロから書式(O)⇒箇条...
-
16
VBAで棒グラフの色を変えたい
-
17
Excelのラジオボタンにチェック...
-
18
エクセル2007 テキストボ...
-
19
VBAでこのような図形の移動はで...
-
20
cellsで特定の離れた範囲を選択...
おすすめ情報
公式facebook
公式twitter