YouTubeのショート動画「記号入力だけで罫線が引ける!種類豊富な簡単罫線! #ワード #word」を見て、段落罫線の削除が面倒だったことを思い出したので、Wordマクロを作ってみました。
文書全体の段落罫線を削除するWordマクロ
以下のWordマクロを実行すると、アクティブなWord文書のすべての段落罫線を削除できます。
ActiveDocument.Paragraphs.Borders.Enable = False
End Sub
拙著『Excel VBAユーザーのためのWord VBA入門(1): Document・Range・Selectionの基本編』の、[chapter 5. ParagraphFormatは段落書式を表す][chapter 6. Paragraphは段落を表す]で、段落に関係するオブジェクトについて解説しています。
これらの段落関連のオブジェクトにはBordersプロパティが用意されています。
上図はオブジェクトブラウザーで対象をWordライブラリに限定して「Borders」を完全一致検索した状態です。
Bordersプロパティで取得できるBordersコレクションのEnableプロパティにFalseを指定することで、段落罫線を削除できます。
上図はオブジェクトブラウザーで対象をWordライブラリに限定して「Enable」を完全一致検索した状態です。
文書全体の段落罫線削除は、「ActiveDocument.Paragraphs.Borders.Enable = False」という比較的シンプルなコードで済みますが、Bordersを真面目に理解しようとすると、ちょっと面倒です。
興味のある方は、以下のような記事もあわせてご覧ください。
- Bordersプロパティを持つWordのオブジェクト一覧
- Word VBAのBordersやBorderは段落罫線専用ではない
- WordのBordersとBorderが持つプロパティの比較一覧
- 段落罫線を設定するWord VBAのサンプル
アクティブページの段落罫線を削除する
以下のWordマクロで、アクティブなページの段落罫線をすべて削除できます。
ActiveDocument.Bookmarks("\Page").Range.Paragraphs.Borders.Enable = False
End Sub
先ほどの文書全体の段落罫線削除では、文書全体のParagraphsコレクションを取得すするので、以下のようなコードで済んでいましたが、
ActiveDocument.Paragraphs
アクティブページのParagraphsコレクションを取得するために、
ActiveDocument.Bookmarks("\Page").Range.Paragraphs
拙著の[chapter 8. ページを扱うには]で解説しているBookmarksコレクションを使った長いコードになっています。
最終更新日時:2024-05-22 09:40
Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 段落罫線を削除するWordマクロ