「word vba 表 中央ぞろえ」
「word vba 表 センタリング」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが時折あります。
何を求めていた検索なのか可能性はいくつか考えられますが、表が複数存在する文書内の複数の表を、一気に中央揃え・センタリングする方法を探していたのではないか、と私は推測しています。
表自体を文書の中で中央揃えするには、下図のような[表のプロパティ]ダイアログを表示してから、[表]タブ-[配置]欄で[中央揃え]を指定する必要があります。
たくさんの表が含まれている文書を編集しているときに、この操作を繰り返すのはとても面倒で、マクロが使えたらと感じる気持ちはとても共感できます。
表をまとめて中央揃えにするサンプルマクロ
アクティブな文書内のすべての表を、一気に中央揃えするWordマクロを作成してみました。
Sub すべての表を中央揃えにする()
Dim tbl As Table
Dim msg As String
msg = "アクティブ文書内のすべての表を、文書内で中央揃えにしますか?"
If MsgBox(msg, vbYesNo) = vbNo Then Exit Sub
For Each tbl In ActiveDocument.Tables
tbl.Rows.Alignment = wdAlignRowCenter
Next tbl
End Sub
上記のマクロを実行すると、
「アクティブ文書内のすべての表を、文書内で中央揃えにしますか?」
というメッセージボックスが表示され[はい]ボタンをクリックすると、表が一気に中央揃えされます。
サンプルマクロの解説
マクロを実行する確認メッセージを表示して[いいえ]ボタンが押されたときにはマクロを終了しています。
If MsgBox(msg, vbYesNo) = vbNo Then Exit Sub
[はい]が押されたときに、アクティブな文書のすべての表にループ処理を開始して、
For Each tbl In ActiveDocument.Tables
表の配置を中央揃えにしています。
tbl.Rows.Alignment = wdAlignRowCenter
表を中央揃えにする操作をマクロ記録してみると、
Sub Sample()
Selection.Tables(1).Rows.Alignment = wdAlignRowCenter
End Sub
といったマクロが作られます。
このコードを参考にして作成したのが上記のマクロです。
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » 表をまとめて中央揃えにするWordマクロ
- Newer:さらなる復習が必要だと思った
- Older:列全体が選択されているかどうかを判定する
TrackBack:0
- TrackBack URL