Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表の文字列の折り返しを設定する

Word VBAで表の文字列の折り返しを設定する

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2009 ビルド13231.20390 Microsoft Store)

「word vba 表 文字列の折り返し」
という検索キーワードでアクセスがありました。

Wordでは、[表のプロパティ]ダイアログ-[表]タブの[文字列の折り返し]で、

本文文字列に対して表をどのように表示するか設定できます。

[スポンサードリンク]

これをVBAのコードから設定するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

表の文字列の折り返しを設定するサンプル

アクティブ文書に表を作成しておいて、以下のSubプロシージャを実行すると、1つ目の表の[文字列の折り返し]が「する」に設定されます。

Sub 表の文字列の折り返しを設定する()
 ActiveDocument.Tables(1).Rows.WrapAroundText = True
End Sub

TableオブジェクトにWrapAroundTextプロパティはない

コード全体としては、わかってしまえば、それほど難しくはないと感じます。

ただ、WrapAroundTextプロパティの用意されているオブジェクトが、TableオブジェクトではなくRowsオブジェクトである点は、かなり興味深く感じます。

この記事を書くまで、私は表の文字列の折り返しを設定するコードを書いたことがなかったので、表を表すTableオブジェクトに「Wrap」という単語を含むプロパティが存在するだろうと思っていました。

ところが拙著『いちばんやさしいPowerPoint VBAの教本』でも多用しているオブジェクトブラウザーでいくら探しても、それらしきプロパティがTableオブジェクトには見つかりません。

で、マクロ記録してみると、
  Selection.Tables(1).Rows.WrapAroundText = True
といったコードが作られ、表内の全行を表すRowsコレクションオブジェクトに、WrapAroundTextプロパティが用意されていることを知りました。

そして、あらためてオブジェクトブラウザーを確認すると

戻り値が「As Long」と定義されているのも、興味深く感じます。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表の文字列の折り返しを設定する

TrackBack:0

TrackBack URL

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAで表の文字列の折り返しを設定する

「表・テーブル」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.