shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

Wordで、ファイル内の画像サイズを一括変更するVBAのサンプル

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の補足

図形の種類は、以下のとおり。

learn.microsoft.com

 

利用の場面など

Wordのファイル内にある画像が、次のように「レイアウト オプション」で行内に設定されていると、画像の複数選択ができません。そのため、一つずつ設定が必要で少し手間です。



例えば、PC画面の操作マニュアルの作成に便利な「ステップ記録ツール」で作成したmhtファイルをWordで編集しようとすると、「レイアウト オプション」が行内に設定されています。そして、画像サイズがページ内に収まっていないので、画像サイズを縮小する必要があり、手間だったので上記VBAを作成しました。

shikumika.org

 

参考

直前の操作を繰り返す「F4」キー。Wordでも利用可能なので、一つずつ同じ設定をするときは、「F4」キーが便利です。

shikumika.org

 

Wordの画像は、レイアウト(文字列の折り返し)の違いで、同じ画像でもVBAの処理が変わるので注意が必要です。

shikumika.org