Wordの文書に画像を挿入する作業、手動で行うと少し手間がかかりますよね。そこで、VBA(Visual Basic for Applications)を使って自動化する方法をご紹介します。これを覚えると、毎回同じ操作を繰り返す手間が省け、効率的に作業が進められますよ。
Word VBAで画像を挿入する基本の方法
まずは、VBAを使って画像を挿入する基本的なコードをご紹介します。
vba
Sub InsertImage()
Dim imgPath As String
imgPath = "C:pathtoyourimage.jpg" ' 画像のパスを指定してください
' 画像を文書の先頭に挿入
ActiveDocument.Shapes.AddPicture _
FileName:=imgPath, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=100, _
Top:=100, _
Width:=200, _
Height:=150
End Sub
このコードでは、指定したパスの画像を文書の指定位置に挿入しています。`Left`と`Top`で位置を、`Width`と`Height`でサイズを指定できます。
画像をテキストの中に埋め込む方法
画像を文書のテキストの中に埋め込みたい場合、`InlineShapes`を使います。これにより、画像がテキストの一部として扱われ、文字の流れに合わせて位置が調整されます。
vba
Sub InsertInlineImage()
Dim imgPath As String
imgPath = "C:pathtoyourimage.jpg" ' 画像のパスを指定してください
' カーソル位置に画像を挿入
Selection.InlineShapes.AddPicture _
FileName:=imgPath, _
LinkToFile:=False, _
SaveWithDocument:=True
End Sub
このコードでは、カーソルがある位置に画像を挿入します。画像はテキストの一部として扱われ、文字の流れに合わせて配置されます。
画像を中央に配置する方法
挿入した画像を文書の中央に配置したい場合、以下のコードを使います。
vba
Sub CenterImage()
Dim imgPath As String
imgPath = "C:pathtoyourimage.jpg" ' 画像のパスを指定してください
' カーソル位置に画像を挿入
Selection.InlineShapes.AddPicture _
FileName:=imgPath, _
LinkToFile:=False, _
SaveWithDocument:=True
' 挿入した画像を中央に配置
With Selection.InlineShapes(1)
.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
End Sub
このコードでは、画像を挿入した後、その画像を中央に配置します。`wdAlignParagraphCenter`は、画像を段落の中央に配置するための定数です。
画像を複数ページに挿入する方法
同じ画像を文書のすべてのページに挿入したい場合、以下のコードを使います。
vba
Sub InsertImageOnAllPages()
Dim imgPath As String
imgPath = "C:pathtoyourimage.jpg" ' 画像のパスを指定してください
Dim i As Integer
Dim rng As Range
For i = 1 To ActiveDocument.ComputeStatistics(wdStatisticPages)
Set rng = ActiveDocument.GoTo(What:=wdGoToPage, Name:=i)
Set rng = rng.GoTo(What:=wdGoToBookmark, Name:="page")
rng.Collapse Direction:=wdCollapseStart
rng.InlineShapes.AddPicture _
FileName:=imgPath, _
LinkToFile:=False, _
SaveWithDocument:=True
Next i
End Sub
このコードでは、文書のすべてのページに指定した画像を挿入します。`ComputeStatistics(wdStatisticPages)`でページ数を取得し、各ページに画像を挿入しています。
よくある質問
Q1: 画像のサイズを変更するにはどうすればいいですか?
画像のサイズを変更するには、`Width`と`Height`のプロパティを使用します。例えば、画像の幅を200ポイント、高さを150ポイントに設定するには、以下のように記述します。
vba
.Width = 200
.Height = 150
Q2: 画像をリンクとして挿入するにはどうすればいいですか?
画像をリンクとして挿入するには、`LinkToFile`を`True`に設定します。例えば、以下のように記述します。
vba
LinkToFile:=True
これにより、画像は文書内に埋め込まれず、指定したパスの画像がリンクとして挿入されます。
まとめ
今回は、Word VBAを使って画像を挿入する方法をご紹介しました。手動で行うと手間がかかる作業も、VBAを使うことで効率的に行うことができます。ぜひ、これらのコードを活用して、作業の効率化を図ってみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント