「WORD VBA セクションを選択」
という検索で、時折アクセスがあります。
この検索キーワードではどのセクションを選択したいのかわからないので、セクションを選択するWordマクロをいくつかご紹介します。
1つ目のセクションを選択するサンプルマクロ
以下のWordマクロで、アクティブ文書の1つ目のセクションを選択できます。
ActiveDocument.Sections(1).Range.Select
End Sub
DocumentオブジェクトのSectionsプロパティで全セクションを表すSectionsコレクションを取得して、Sectionsコレクションの既定メンバーであるItemメソッドの引数に
「1」を指定して先頭のセクションを表すSectionオブジェクトを取得しています。
拙著『Excel VBAユーザーのためのWord VBA入門(1)』の[3-9. Rangeプロパティを持つオブジェクトがたくさんある]で、文字列範囲を表すRangeオブジェクトを取得するRangeプロパティの用意されているオブジェクトが大量にあることを紹介しています。
SectionオブジェクトにもRangeプロパティがあるので、
Selection.RangeプロパティでRangeオブジェクトを取得し、Range.Selectメソッドで選択を行っています。
もしもSectionオブジェクトにSelectメソッドが用意されていたならば、わざわざRangeオブジェクトを取得する必要はなかったはずですが、MicrosoftがSectionオブジェクトをメソッドのないプロパティだけのオブジェクトとして実装しているため、Range.Selectメソッドを使う必要があります。
最後のセクションを選択するサンプルマクロ
以下のWordマクロでアクティブ文書の最後のセクションを選択できます。
ActiveDocument.Sections.Last.Range.Select
End Sub
Sectionsコレクションには最後のSectionオブジェクトを取得するLastプロパティが用意されています。
このSections.Lastプロパティで最後のセクションを表すSectionオブジェクトを取得して、Range.Selectメソッドで選択しています。
カーソルのあるセクションを選択するサンプルマクロ
以下のWordマクロでカーソルのある先頭のセクションを選択できます。
Selection.Sections(1).Range.Select
End Sub
SelectionオブジェクトにもSectionsプロパティが用意されており、
Sectionsコレクションの既定メンバーであるItemメソッドの引数に「1」を指定して、Range.Selectメソッドで選択しています。
最終更新日時:2024-03-27 11:58
- Newer:取り消し線をExcel VBAで判定するには注意が必要
- Older:VBAでNOW関数をセルに入力する
Home » ワードマクロ・Word VBAの使い方 » セクション » Word VBAでセクションを選択する