Word VBAでヘッダー・フッターを設定する方法|初心者でもできる簡単マクロ解説

パソコンパソコン・スマホ教室
スポンサーリンク

Wordの文書作成で、ヘッダーやフッターに日付やページ番号、ファイル名などを自動で挿入したいと思ったことはありませんか?特に、毎回手動で入力するのは面倒ですよね。そんなときに役立つのが、Word VBA(マクロ)です。

今回は、初心者の方でもわかりやすいように、Word VBAを使ってヘッダーやフッターを設定する方法を、実際のコードとともに解説します。

スポンサーリンク

ヘッダー・フッターの基本

Wordのイメージ

Wordのイメージ

まず、ヘッダーとフッターの違いを簡単におさらいしましょう。

ここがポイント!

  • ヘッダー文書の上部に表示される部分で、通常は章タイトルや文書タイトルなどを記載します。
  • フッター文書の下部に表示される部分で、ページ番号や作成日などを記載します。

これらは、文書全体またはセクションごとに設定できます。VBAを使うことで、これらの設定を自動化できます。

VBAでヘッダー・フッターを設定する基本的なコード

以下のコードは、文書の最初のセクションのヘッダーとフッターに、それぞれファイル名とページ番号を挿入する例です。

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

    ' フッターにページ番号を挿入
    With ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary)
        .Range.Text = "ページ数/全ページ数"
        .Fields.Add Range:=.Words(1), Type:=wdFieldPage
        .Fields.Add Range:=.Words(3), Type:=wdFieldNumPages
        .Paragraphs.Alignment = wdAlignParagraphCenter
    End With
End Sub

このコードを実行すると、ヘッダーに「ファイル名」と現在のファイル名が挿入され、フッターには「ページ数/全ページ数」という形式でページ番号が挿入されます。

セクションごとの設定

Wordでは、文書をセクションに分けて、それぞれに異なるヘッダーやフッターを設定することができます。例えば、目次のページだけヘッダーを変更したい場合などに便利です。

以下のコードは、すべてのセクションのヘッダーとフッターを、前のセクションと同じ内容に設定する例です。

Sub セクションのヘッダーとフッターを統一する()
    Dim sec As Section
    For Each sec In ActiveDocument.Sections
        sec.Headers(wdHeaderFooterPrimary).LinkToPrevious = True
        sec.Footers(wdHeaderFooterPrimary).LinkToPrevious = True
    Next sec
End Sub

このコードを実行すると、すべてのセクションのヘッダーとフッターが、前のセクションと同じ内容になります。

ページごとの設定

さらに、ページごとにヘッダーやフッターを変更することもできます。例えば、奇数ページと偶数ページで異なるヘッダーを設定したい場合などです。

以下のコードは、奇数ページと偶数ページで異なるヘッダーを設定する例です。

Sub 奇数偶数ページでヘッダーを変更する()
    With ActiveDocument.PageSetup
        .OddAndEvenPagesHeaderFooter = True
    End With

    With ActiveDocument.Sections(1)
        .Headers(wdHeaderFooterOddPages).Range.Text = "奇数ページのヘッダー"
        .Headers(wdHeaderFooterEvenPages).Range.Text = "偶数ページのヘッダー"
    End With
End Sub

このコードを実行すると、奇数ページには「奇数ページのヘッダー」、偶数ページには「偶数ページのヘッダー」が表示されます。

よくある質問や疑問

Q1: VBAのコードをどこに入力すればいいですか?

Wordを開き、「Alt + F11」を押してVBAエディタを開きます。左側の「VBAProject(あなたの文書名)」を右クリックし、「挿入」→「モジュール」を選択します。開いたモジュールに上記のコードを貼り付けて実行できます。

Q2: セクションごとに異なるヘッダーを設定するにはどうすればいいですか?

セクションごとに異なるヘッダーを設定するには、各セクションの「LinkToPrevious」プロパティをFalseに設定し、それぞれのセクションに対してヘッダーの内容を設定します。

Q3: ページ番号の形式を変更するにはどうすればいいですか?

ページ番号の形式を変更するには、フィールドコードを使用します。例えば、ローマ数字でページ番号を表示するには、”PAGE \* roman”のように指定します。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Word VBAを使うことで、ヘッダーやフッターの設定を自動化し、文書作成の効率を大幅に向上させることができます。初心者の方でも、上記のコードを参考にして、少しずつ自分の文書に合わせた設定を試してみてください。

他にも疑問やお悩みがあれば、お気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました