Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » Word VBAでヘッダー文字列から1文字ずつ取得する

Word VBAでヘッダー文字列から1文字ずつ取得する

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

「word header 1文字づつ取得」
という検索でアクセスがありました。

最終的に何をしたいのかは不明ですが、Word VBAでヘッダーの文字列を1文字ずつ取得するには、どのようなコードを書けばいいのか調べていらしたのでしょう。

ヘッダー文字列から1文字ずつ取得するサンプルマクロ

以下のWordマクロを実行すると、アクティブ文書の1つ目のセクションのプライマリーヘッダーの文字列が、1文字ずつメッセージボックスに表示されます。

Sub ヘッダー文字列から1文字ずつ取得する()
 With ActiveDocument.Sections(1)
  Dim rng As Range
  For Each rng In .Headers(wdHeaderFooterPrimary).Range.Characters
   MsgBox rng.Text
  Next
 End With
End Sub

ヘッダー文字列から1文字ずつ取得するオブジェクトモデル

上記のWordマクロでは、以下のような階層を辿って、ヘッダー文字列を1文字ずつ取得しています。

Document ← ActiveDocument
 └ Section ← .Sections(1)
   └ HeaderFooter ← .Headers(wdHeaderFooterPrimary)
     └ Range    ← .Range
       └ Characters ← .Characters
         └ Range  ← For Each~Next

ヘッダーを表すオブジェクトを取得する過程は異なりますが、Charactersコレクションから文字を表すRangeオブジェクトを取得するFor Each~Nextループは、拙著『Excel VBAユーザーのためのWord VBA入門(1)』の、[3-6. Characters経由でRangeを取得する]で解説しているのと同じです。

最終更新日時:2022-12-09 14:47

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » Word VBAでヘッダー文字列から1文字ずつ取得する

「ヘッダー・フッター」の記事一覧

検索


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

.