Word で文書に画像を挿入したあと、すべての画像を同じ大きさに調整したい場面があります。しかし、「まとめてサイズ変更」などで調べても、「すべての画像を選択して大きさを入力する」という方法しか見つからず、困った経験はありませんか?画像の挿入の仕方によっては複数の画像を選択できないので、この方法が使えないのです。もし、このようなことでお困りの場合は、この記事の方法をお試しください。
文字列の折り返しが「行内」の場合は複数の画像を選択できない
Word で画像を挿入した場合、文字列の折り返しが「行内」以外であれば、Shift キーを押しながら画像を選択していけば、すべての画像を選択できます。つまり、次のような手順で画像を選択したあとに画像の大きさを入力すれば、まとめて大きさを変更できます。

ですが、文字列の折り返しが「行内」の場合は話が別。この場合の画像は複数選択できないため、この方法が使えません。だからといって、1 枚ずつ手作業でサイズを変更するのは面倒です。そこで、マクロの出番です。簡単なマクロを使えば、一発でドキュメント内の画像のサイズをまとめて変更できます。
ここでは Windows 版 Word の画面で説明しますが、Mac の Word でも利用できます。ちなみに Mac の Word(バージョン 16.93)でも動作を確認済みです。
「開発」タブを表示する(Windows のみ)
Windows 版 Word では、「開発」タブを使用します。表示されていない場合は、次の手順で有効にしてください。
まず、Word を起動したら、「ファイル」タブをクリックします。

表示された画面で「その他」→「オプション」をクリックします(ウィンドウの大きさによっては、「オプション」だけ表示されていることもあります)。

Word のオプション画面が表示されるので、「リボンのユーザー設定」をクリックします。右側のボックスの中にある「開発」にチェックをつけ、「OK」をクリックします。これで「開発」タブが表示されます。

マクロを保存する
次に画像のサイズを一括変更するマクロを保存します。
「開発」タブを開き、「Visual Basic」をクリックします。

Mac の場合は、メニューバーで「ツール」→「マクロ」→「Visual Basic Editor」をクリックします。
Visual Basic の編集画面が表示されるので、左側のツリーで「Normal」を選択します。選択できたら「挿入」→「標準モジュール」をクリックします。

「Normal」を選択すると、すべての Word 文書でマクロが利用できます。特定の文書だけで使用したい場合は、左側のツリーからその文書名を選んでください。
画面の右側にウィンドウが開くので、下のマクロをコピー&ペーストします。
Sub ResizeAllImages_UserInput()
Dim shp As InlineShape
Dim shpFloating As Shape
Dim userWidth As String
Dim newWidth As Single
' ユーザーに横幅を入力させる(キャンセル時は終了)
userWidth = InputBox("画像の横幅をポイント(pt)単位で入力してください。(例: 150)", "画像サイズ変更")
' 入力が空白またはキャンセルされた場合は処理を中止
If userWidth = "" Then Exit Sub
' 入力値を数値に変換
If IsNumeric(userWidth) Then
newWidth = CSng(userWidth)
Else
MsgBox "数値を入力してください。", vbExclamation, "エラー"
Exit Sub
End If
' 文書内のインライン画像(本文中の画像)を変更
For Each shp In ActiveDocument.InlineShapes
shp.LockAspectRatio = msoTrue ' アスペクト比を固定
shp.Width = newWidth ' ユーザーが指定した幅
Next shp
' 文書内のフローティング画像(テキストの外側の画像)を変更
For Each shpFloating In ActiveDocument.Shapes
shpFloating.LockAspectRatio = msoTrue ' アスペクト比を固定
shpFloating.Width = newWidth ' ユーザーが指定した幅
Next shpFloating
' 完了メッセージ
MsgBox "すべての画像の幅を " & newWidth & " pt に変更しました!", vbInformation, "完了"
End Sub

コピペできたら、上書き保存アイコンをクリックします。

これでマクロの保存は完了です。「×」をクリックしてウィンドウを閉じます。

画像のサイズを変更する
最後にマクロを実行して画像のサイズをまとめて変更します。
「開発」タブを開き、「マクロ」をクリックします。

Mac の場合は、「ツール」→「マクロ」→「マクロ」をクリックします。
一覧で「ResizeAllImages_UserInput」(今回のマクロ名)を選択し、「実行」をクリックします。

サイズの入力ボックスが表示されるので、画像の横幅のサイズを入力し、「OK」をクリックします。ちなみに画像の単位はポイントです。縦横のアスペクト比は保持されます。

すべての画像サイズが変更されます。「OK」をクリックします。

画像の大きさを確認してください。もし大きさを調整したいときは、同じ手順を繰り返せば別のサイズに変更できます。

クイックアクセスツールバーから実行できるようにする(Windows のみ)
Windows の場合、このマクロをクイックアクセスツールバーに追加できます。頻繁に使う場合は、追加しておくと作業効率が向上します。
Word のオプション画面を表示したら、「クイックアクセスツールバー」をクリックします。「コマンドの選択」で「マクロ」を選び、マクロ名(ResizeAllImages_UserInput)を選択して「追加」をクリックします。

マクロ名が右側の一覧に追加されたことを確認し、「OK」をクリックします。

これでマクロがクイックアクセスツールバーに追加できました。このアイコンをクリックすると、いつでもすぐにサイズ変更のマクロを実行できます。

余談:Copilot にお願いしてみた
最近、Microsoft 365 で Copilot が使えるようになったので、画像サイズの変更ができないかお願いしてみました。
しかし、次の画面の通り、ダメでした。AI もまだまだですね。

なお、Copilot でできることについては、下の記事でもまとめているので、併せてご覧ください。
まとめ:行内の画像でもまとめて変更できる
Word の行内画像をまとめて変更する方法を調べましたが、検索でヒットするのがほとんど「行内以外の方法」だったんですよね。実際、行内に挿入した画像は複数選択できないようになっているので、一般的な手順ではまとめて変更できません。
だからといって、1 枚 1 枚変更していくのはあまりに面倒な作業なので、マクロを頼ることにしました。このマクロはシンプルなため、Windows でも Mac でも動作し、特に危険なものでもありません。使い方も簡単ですので、もし同じようなことで困っていた方は、ぜひお試しください。
コメント