Wordで作成した文書に画像や図を挿入したけれど、そのサイズを変更する方法がわからないという方も多いはず。特にVBA(Visual Basic for Applications)を使って自動化したい場合、初心者には少し難しく感じるかもしれません。しかし、安心してください。この記事では、Word VBAで図のサイズ変更を行う方法を、誰でも理解できるようにわかりやすく解説します。YouTube動画にも使える内容なので、視覚的にわかりやすくお伝えしていきます!
VBAで図のサイズを変更する基本
VBAを使ってWord文書の図をサイズ変更する方法は、実は思ったより簡単です。まず最初に、VBAとは何かを簡単におさらいしましょう。VBAは、Microsoft Office製品(WordやExcelなど)の自動化を行うためのプログラミング言語です。
では、Word VBAを使って図のサイズを変更する基本的な方法をご紹介します。
1. VBAを開く方法
まず、Wordを開いてVBAエディタを開きます。VBAエディタを開くには、以下の手順を踏んでください。
- Wordを開き、「開発」タブを表示します。(表示されていない場合は、オプションから「開発」タブを有効にします)
- 「開発」タブの中から「Visual Basic」をクリックします。
- VBAエディタが開きますので、左側の「挿入」から「モジュール」を選んで新しいモジュールを作成します。
2. VBAコードの記述方法
VBAエディタで新しいモジュールを作成したら、図のサイズを変更するコードを入力します。以下のコードを参考にしてください。
Sub ResizeImage()
Dim img As Shape
Set img = ActiveDocument.Shapes(1) '1番目の図を選択
img.LockAspectRatio = msoFalse '縦横比を固定しない
img.Width = 200 '幅を200ポイントに設定
img.Height = 150 '高さを150ポイントに設定
End Sub
このコードでは、文書内の1番目の図を選択し、幅を200ポイント、高さを150ポイントに設定しています。もし複数の図がある場合は、Shapes(1)を他の番号に変更して、指定する図を変えることができます。
図のサイズ変更を自動化する方法
VBAを使う最大の利点は、図のサイズ変更を自動化できることです。例えば、複数の図を一括で同じサイズに変更したい場合には、ループ処理を使うと便利です。
1. 複数の図を一括変更するコード
複数の図を一括で変更する場合、次のようなコードを使います。
Sub ResizeAllImages()
Dim img As Shape
For Each img In ActiveDocument.Shapes
img.LockAspectRatio = msoFalse
img.Width = 200 '幅を200ポイントに設定
img.Height = 150 '高さを150ポイントに設定
Next img
End Sub
このコードは、文書内のすべての図に対してサイズ変更を行います。指定した幅と高さに自動でサイズが変更されます。
2. 図の種類を指定してサイズ変更する
また、すべての図ではなく、特定の図だけサイズを変更したい場合は、次のように条件を付け加えることができます。
Sub ResizeSpecificImages()
Dim img As Shape
For Each img In ActiveDocument.Shapes
If img.Type = msoPicture Then '画像タイプのみ選択
img.LockAspectRatio = msoFalse
img.Width = 200 '幅を200ポイントに設定
img.Height = 150 '高さを150ポイントに設定
End If
Next img
End Sub
このコードでは、画像(msoPicture)タイプの図だけを対象にサイズ変更を行っています。
よくある質問や疑問
Q1: VBAコードを使っても図がうまく変更されません。どうすればよいですか?
図の種類や番号が間違っている可能性があります。まずは、Shapesの番号や種類(例えばmsoPicture)が正しいか確認してください。また、図が「ロック」されている場合、ロックを解除してからサイズ変更を試みてください。
Q2: サイズ変更だけでなく、図の位置も調整したい場合はどうすればいいですか?
位置の調整もVBAで行えます。例えば、img.Leftで横位置を、img.Topで縦位置を変更できます。以下のコードを追加すると、図を左上に配置できます。
img.Left = 100 '横位置を100ポイントに設定 img.Top = 50 '縦位置を50ポイントに設定
まとめ
いかがでしたでしょうか?Word VBAで図のサイズ変更を行う方法は、少しのコードで簡単に自動化できます。特に、複数の図を一括で変更したい場合や、図の位置も調整したい場合にはVBAが非常に便利です。
この動画(記事)が役に立ったら、ぜひコメントや高評価をお願いします!他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。




コメント