Word文書に画像を挿入する際、手動で行うと手間がかかりますよね。特に、同じ位置に複数の画像を挿入したい場合、VBA(Visual Basic for Applications)を使うと効率的です。今回は、初心者の方でもわかりやすいように、画像を指定した位置に挿入するVBAマクロの作成方法をご紹介します。
画像を挿入する位置を指定する方法
Word VBAで画像を挿入する際、挿入位置を指定することができます。例えば、文書の末尾や特定のページに画像を挿入したい場合です。
文書の末尾に画像を挿入する
文書の末尾に画像を挿入するには、以下のようなVBAコードを使用します。
vba
Sub InsertImageAtEnd()
Dim imgPath As String
imgPath = "C:pathtoyourimage.jpg" ' 画像のパスを指定
Selection.EndKey Unit:=wdStory ' 文書の末尾にカーソルを移動
Selection.InlineShapes.AddPicture FileName:=imgPath, LinkToFile:=False, SaveWithDocument:=True
End Sub
このコードでは、`Selection.EndKey Unit:=wdStory`でカーソルを文書の末尾に移動し、`Selection.InlineShapes.AddPicture`で画像を挿入しています。
特定のページに画像を挿入する
特定のページに画像を挿入するには、以下のようなコードを使用します。
vba
Sub InsertImageAtPage()
Dim imgPath As String
imgPath = "C:pathtoyourimage.jpg" ' 画像のパスを指定
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2 ' 2ページ目に移動
Selection.InlineShapes.AddPicture FileName:=imgPath, LinkToFile:=False, SaveWithDocument:=True
End Sub
このコードでは、`Selection.GoTo`で2ページ目に移動し、画像を挿入しています。
画像のサイズや配置を調整する方法
挿入した画像のサイズや配置を調整することも可能です。
画像のサイズを変更する
画像のサイズを変更するには、以下のようなコードを使用します。
vba
Sub ResizeImage()
Dim img As InlineShape
Set img = Selection.InlineShapes(1) ' 最初の画像を取得
img.LockAspectRatio = msoTrue ' アスペクト比を固定
img.Width = CentimetersToPoints(10) ' 幅を10cmに設定
End Sub
このコードでは、`LockAspectRatio`でアスペクト比を固定し、`Width`で幅を設定しています。
画像を中央に配置する
画像を中央に配置するには、以下のようなコードを使用します。
vba
Sub CenterImage()
Dim img As InlineShape
Set img = Selection.InlineShapes(1) ' 最初の画像を取得
img.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter ' 中央揃えに設定
End Sub
このコードでは、`ParagraphFormat.Alignment`で画像を中央揃えに設定しています。
まとめ
Word VBAを使うことで、画像の挿入位置やサイズ、配置を自由に調整することができます。初心者の方でも、上記のコードを参考にしながら、自分の目的に合わせてカスタマイズしてみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント