Home » ワードマクロ・Word VBAの使い方 » セクション » Word VBAでセクションを選択する

Word VBAでセクションを選択する

動作検証バージョン:Windows 11 Home + 64bit Word バージョン 2403(ビルド17425.20000クイック実行)ベータチャネル

「WORD VBA セクションを選択」
という検索で、時折アクセスがあります。

この検索キーワードではどのセクションを選択したいのかわからないので、セクションを選択するWordマクロをいくつかご紹介します。

1つ目のセクションを選択するサンプルマクロ

以下のWordマクロで、アクティブ文書の1つ目のセクションを選択できます。

Sub 先頭のセクションを選択する()
 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マクロでアクティブ文書の最後のセクションを選択できます。

Sub 最後のセクションを選択する()
 ActiveDocument.Sections.Last.Range.Select
End Sub

Sectionsコレクションには最後のSectionオブジェクトを取得するLastプロパティが用意されています。

このSections.Lastプロパティで最後のセクションを表すSectionオブジェクトを取得して、Range.Selectメソッドで選択しています。

カーソルのあるセクションを選択するサンプルマクロ

以下のWordマクロでカーソルのある先頭のセクションを選択できます。

Sub カーソルのあるセクションを選択する()
 Selection.Sections(1).Range.Select
End Sub

SelectionオブジェクトにもSectionsプロパティが用意されており、

Sectionsコレクションの既定メンバーであるItemメソッドの引数に「1」を指定して、Range.Selectメソッドで選択しています。

最終更新日時:2024-03-27 11:58

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » セクション » Word VBAでセクションを選択する

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

.