Wordファイルで、ファイル内にある数十個の図形サイズを一括で更新するVBA。Word の画像サイズを一括変更する際、行内に設定された図は、 CtrlキーやShiftキーを押しての複数選択ができず、一つずつ選択しての設定が必要だったのでVBAで作成してみた備忘録。
行内に設定された図を対象に、横幅サイズを400ptに設定したサンプルです。なお、行内に設定されていない図の場合のVBAサンプルはこちらです。
Sub 画像サイズの一括更新() Dim 画像 As Object For Each 画像 In ActiveDocument.InlineShapes '行内の図を対象 If 画像.Type = wdInlineShapePicture Then '図形のみ抽出 画像.LockAspectRatio = msoTrue '高さと幅の比率を固定 画像.Width = 400 '任意に設定 End If Next 画像 End Sub
InlineShapesの補足
図形の種類は、以下のとおり。
利用の場面など
Wordのファイル内にある画像が、次のように「レイアウト オプション」で行内に設定されていると、画像の複数選択ができません。そのため、一つずつ設定が必要で少し手間です。
例えば、PC画面の操作マニュアルの作成に便利な「ステップ記録ツール」で作成したmhtファイルをWordで編集しようとすると、「レイアウト オプション」が行内に設定されています。そして、画像サイズがページ内に収まっていないので、画像サイズを縮小する必要があり、手間だったので上記VBAを作成しました。
参考
直前の操作を繰り返す「F4」キー。Wordでも利用可能なので、一つずつ同じ設定をするときは、「F4」キーが便利です。
Wordの画像は、レイアウト(文字列の折り返し)の違いで、同じ画像でもVBAの処理が変わるので注意が必要です。