「word vba ヘッダーの表の編集」
といった検索キーワードでアクセスがありました。
ヘッダーの表に文字列を入力するサンプルマクロ
1つ目のセクションのヘッダーに表が存在するWord文書がアクティブな状態で、以下のSubプロシージャを実行してください。
On Error GoTo ErrHandl
ActiveDocument.Sections(1).Headers(1) _
.Range.Tables(1) _
.Cell(1, 1).Range.Text = "サンプル文字列"
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(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コレクションを取得しています。
- Word VBAでSectionを経由してヘッダーの表を選択する
- 『Word VBA入門』で紹介しているオブジェクトごとのプロパティ一覧
- 『Word VBA入門』で紹介しているオブジェクトごとのメソッド一覧
- 『Excel VBAユーザーのためのWord VBA入門(2):Tableの基本編』も出ました。
最終更新日時:2024-02-21 15:25
Home » ワードマクロ・Word VBAの使い方 » ヘッダー&フッター » ヘッダー内の表をWord VBAで編集する