仕事で、ワード2010で作成した表(見出しを最上部一行と左端一列も含めて5行、3列の表)に、フォルダ内の写真をマクロを使って一括で貼り付けたいのですが、うまくいきません。
マクロはほぼ未経験で色々調べて、なんとか真っ新のファイルには貼り付けることに成功しましたが、表中マスに一枚ずつ並べる方法はあるのでしょうか?一応現在のコードを載せておきます。
Sub 画像取込R()
Dim fn As Variant
Const MYFOLDER = "C:\My Documents\My Pictures\"
Selection.HomeKey Unit:=wdStory
fn = Dir(MYFOLDER & "*.jpg")
Do While fn <> ""
InsertFile MYFOLDER & fn
fn = Dir()
Loop
MsgBox "貼り付け完了"
End Sub
Private Sub InsertFile(fn As Variant)
Selection.TypeParagraph
Selection.InlineShapes.AddPicture _
FileName:=fn, _
LinkToFile:=False, _
SaveWithDocument:=True
Selection.TypeParagraph
Selection.TypeText _
Text:=Mid(fn, InStrRev(fn, "\") + 1)
Selection.TypeParagraph
End Sub
コピペできるようなコードの例を教えて頂けると大変助かります。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
質問後すぐに閲覧していたのですが、苦手なマクロの質問だったので、
他の回答がつかないかと思って回答を控えていました。
回答がされないままだったので、私なりに調べた範囲での回答ですが、
参考程度にはなると思います。
質問にあるマクロの場合、「 Private Sub マクロ名」でモジュール内から
呼び出す形式で、画像とファイル名を設定していますよね。
この方法だと私は難しかったので、そのまま一つのマクロにしています。
Sub 画像取込R()
Dim iR, iC As Integer
Dim fn As Variant
Dim myTable As Table
Dim myCell As Cell
Dim myRng As Range
Const MYFOLDER = "C:\My Documents\My Pictures\"
fn = Dir(MYFOLDER & "*.jpg")
Set myTable = ActiveDocument.Tables(1)
For iR = 2 To 5
For iC = 2 To 3
If fn <> "" Then
Set myCell = myTable.Cell(iR, iC)
Set myRng = myCell.Range
myRng.InlineShapes.AddPicture _
FileName:=MYFOLDER & fn, _
LinkToFile:=False, _
SaveWithDocument:=True
myRng.InsertAfter vbCrLf & Mid(fn, InStrRev(fn, "\") + 1)
fn = Dir()
End If
Next iC
Next iR
Set myTable = Nothing
Set myCell = Nothing
Set myRng = Nothing
MsgBox "貼り付け完了"
End Sub
このマクロの具体的な説明は、苦手ということと理解していない部分が
多くあるので、補足されても追加回答できないと思います。
ありがとうございます。たった数秒で見事に表に収まり、感動ものです!
ググって適当にコピペしたので形式は全く存じておりませんでした。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル ボタンに設定したマク...
-
複数のマクロボタンをまとめて...
-
エクセルの表を複数枚印刷した...
-
エクセル マクロ名にブック名...
-
Excelマクロで、稼働中のマクロ...
-
エクセルマクロで、別のブック...
-
マクロ実行ボタンを自動削除したい
-
エクセルで明日の日付を表示す...
-
エクセルの、記録を終了したマ...
-
検索はマクロで記録できないの...
-
テキスト・データをエクセルの...
-
なぜマクロの記録がなくなって...
-
コピーしたデータを2行ずつに貼...
-
【マクロ】マクロボタンをクリ...
-
Excelのマクロ名の並び順の法則...
-
別シートのマクロボタンをマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセル ボタンに設定したマク...
-
エクセルの、記録を終了したマ...
-
エクセルの表を複数枚印刷した...
-
複数のマクロボタンをまとめて...
-
エクセルマクロで、別のブック...
-
Excelマクロで、稼働中のマクロ...
-
エクセルでマクロ(Excel 4.0)...
-
別シートのマクロボタンをマク...
-
(Excel VBA)シートコピー時マ...
-
Excel:マクロを消す方法教えて...
-
マクロ実行ボタンを自動削除したい
-
EXCELのマクロが他のパソコンで...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
Excelマクロをバックグラウンド...
おすすめ情報