【Word VBA】ヘッダーにファイル名を挿入するWordマクロ

2020年10月22日

ヘッダーに文字列やフィールドを挿入するシンプルなマクロを紹介します。

このマクロでできること

文書の最初のセクションのヘッダーにファイル名を挿入します。ファイル名はフィールドで入力するので、ファイル名を変更してフィールドを更新すればヘッダーの表示も変化します。

(実行前)

ヘッダーに文字が書かれている場合の例です。文字が書かれていなくても同じ結果になります。

(実行後)

ヘッダーに書かれていた文字は削除されて、左揃えに設定されます。

また下線が引かれます。文書が保存されていない場合(ファイル名を決めていない場合)には、「文書 1」などの表示になります。

マクロの解説

Wordの仕組み上、ヘッダーやフッターの設定をセクションごとに行います。この記事のサンプルコードの場合には、セクションが細かく設定されていないという前提にします。

もし、特定のセクションで以下の赤枠で囲んだ項目を設定している場合(たとえば、「前と同じヘッダー/フッター」をオフにする場合)には、ヘッダーにファイル名が表示されない場合があります。

この項目は操作をしていないという前提のマクロです。

3行目で操作対象のオブジェクトとしてセクション1のヘッダーを指定します。

6行目以降で、フィールドや文字列の挿入、段落書式、文字書式の設定をしています。

マクロ

Sub ヘッダーにファイル名を挿入するマクロ()
 
 With ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary)

  'ファイル名(フィールドで入力)
  .Range.Fields.Add Range:=.Range, _
           Type:=wdFieldFileName

  '文字列の入力
  .Range.InsertBefore Text:="ファイル名:"

  '左揃え
  .Range.ParagraphFormat.Alignment = wdAlignParagraphLeft

  '下線
  .Range.Underline = wdUnderlineSingle
  
 End With
 
End Sub

関連記事

【コード】複数のWordファイルを一つにまとめるWordマクロ

【コード】3ページ目以降にページ番号を挿入するWordマクロ

【コード】フッターにページ番号を入れるWordマクロ

-コード
-, ,