最近取り組んだ翻訳案件に、けっこうな量の表がありました。原文をOCRで読み込んだのですが表をうまく取り込めなかったために、自分で1つ1つ表を作りました。
翻訳中はWebレイアウトで表示していたので気がつかなかったのですが、印刷レイアウトにしてみたところ、表の配置が少し不自然でした。
そこで、表の配置を中央揃えにしてみました。
表の配置を中央揃えにする
あ、この方法をご存知ですか?
中央揃えなので、反射的に [Ctrl] + [E] をしてしまうと表の中の文字列がセルの中央に揃えられてしまいます(笑)。表自体をページの左右余白の中央に配置したいのですよね。
これは、[表ツール]の[レイアウト]タブの[表]グループの[表のプロパティ]ボタンで起動するダイアログで設定できます。
ダイアログで[表]タブの配置の[中央揃え]ボタンをクリックして[OK]ボタンで閉じます。
ただ、これを数十の表に対して実行するとかなり手間なので、マクロにしてみました。
このマクロでできること
現在の文書中の表の配置をすべて中央揃えにします。
(実行前)
(実行後)
マクロの解説
ポイントは、Rows.Alignmentプロパティを使うところです。
表の配置なので、Tableオブジェクトに配置のプロパティがあるのだと思いがちですが、RowsオブジェクトのAlignmentプロパティを使うのです。
これは、「マクロの記録」機能を使えば、上記プロパティを使えばよいことを発見できます。
参考記事:【Word】Wordの「マクロの記録」機能は使えるのか?
マクロ
Sub 表の配置を中央揃えにする() Dim myTable As Table For Each myTable In ActiveDocument.Tables myTable.Rows.Alignment = wdAlignRowCenter Next End Sub