Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダー内の表をWord VBAで編集する

ヘッダー内の表をWord VBAで編集する

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

「word vba ヘッダーの表の編集」
といった検索キーワードでアクセスがありました。

ヘッダーの表に文字列を入力するサンプルマクロ

1つ目のセクションのヘッダーに表が存在するWord文書がアクティブな状態で、以下のSubプロシージャを実行してください。

Sub ヘッダー内の表に文字列を入力する()
On Error GoTo ErrHandl

 ActiveDocument.Sections(1).Headers(1) _
  .Range.Tables.Item(1) _
   .Cell(1, 1).Range.Text = "サンプル文字列"

Exit Sub
ErrHandl:
 Select Case Err.Number
  Case 5941
   MsgBox "アクティブ文書1つ目のセクションのヘッダーには、表が無いようです。"
  Case Else
   MsgBox Err.Description & vbCrLf & Err.Number
 End Select
 Err.Clear
End Sub

1行×1列目のセルに「サンプル文字列」と入力されます。

サンプルマクロの処理内容

上記のSubプロシージャの

ActiveDocument.Sections(1).Headers(1) _

の部分は、Word VBAでヘッダーを表すHeaderFooterオブジェクトを取得する定番のコードです。

つづく、

 .Range.Tables.Item(1) _
  .Cell(1, 1).Range.Text = "サンプル文字列"

は、拙著『Excel VBAユーザーのためのWord VBA入門(2)』でも解説している、Rangeオブジェクトから表を取得してセルに文字列を設定する基本です。

拙著の「11-3. アクティブページに存在する表の取得」では、「.Bookmarks("\Page").Range.Tables」でアクティブページ内のTablesコレクションを取得できることを解説しています。

上記Subプロシージャの「.Sections(1).Headers(1).Range.Tables」は、ヘッダーを表すHeaderFooterオブジェクトのRangeプロパティを使ってRangeオブジェクトを取得して、

ヘッダー内のTablesコレクションを取得しています。

最終更新日時:2022-02-08 10:04

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダー内の表をWord VBAで編集する

Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダー内の表をWord VBAで編集する

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

.