「word vba 囲み戦」
「word vba 囲い線を編集する」
「ワードvba 囲い線の設定」
といった検索で、時折アクセスがあることに気が付きました。
Word VBAで囲み線の設定を行うには、どのようなコードを書けばいいのかを探していらしたのでしょう。
囲み線を設定するサンプルマクロ
囲み線を設定したい文字列を選択しておいて、以下のSubプロシージャを実行してみてください。
With Selection.Font.Borders.Item(1)
.LineStyle = wdLineStyleDouble
.Color = RGB(255, 0, 0)
End With
End Sub
選択されていた文字列に、二重線(wdLineStyleDouble)で、赤色(RGB(255, 0, 0))の囲み線が設定されます。
囲み線を非表示にするサンプルマクロ
以下のSubプロシージャで、選択されている文字列の囲み線が非表示になります。
With Selection.Font.Borders.Item(1)
.Visible = False
End With
End Sub
囲み線はFont.Borders.Item(1)で取得
『最速攻略 Word マクロ / VBA徹底入門 』の、5-11「文字で線を囲む」に以下の記述があります。
文字に設定できる罫線を表すBordersコレクションには一種類のメンバーしか含まれておらず、そのBorderオブジェクトを取得するには、インデックスとして「1」を指定します。
せめて定数を用意しておいてくれればいいのにと思いつつ、この記述に従い上記のSubプロシージャでは、
With Selection.Font.Borders.Item(1)
としました。
また、
With Selection.Borders.Item(1)
でも、まあまあ動くようではあるのですが、「Selection.Borders.Item(1)」では、文字の囲み線という意味がまったく読み取れないので、Fontプロパティを明記して「Selection.Font.Borders.Item(1)」としています。
Rangeオブジェクトを利用する場合
Word VBAのSelectionオブジェクトはRangeオブジェクトにしても同じように動くことが多く、上記のSubプロシージャも、
With Selection.Font.Borders.Item(1)
の部分を、例えば、
With ActiveDocument.Range(0, 1).Font.Borders.Item(1)
にすれば、アクティブな文書の1文字目を処理対象にできます。
最終更新日時:2021-04-25 10:39
Home » ワードマクロ・Word VBAの使い方 » フォント » VBAで囲み線を設定する-Font.Borders.Item(1)