Wordの文書作成で、ヘッダーやフッターに日付やページ番号、ファイル名などを自動で挿入したいと思ったことはありませんか?特に、毎回手動で入力するのは面倒ですよね。そんなときに役立つのが、Word VBA(マクロ)です。
今回は、初心者の方でもわかりやすいように、Word VBAを使ってヘッダーやフッターを設定する方法を、実際のコードとともに解説します。
ヘッダー・フッターの基本
まず、ヘッダーとフッターの違いを簡単におさらいしましょう。
- ヘッダー文書の上部に表示される部分で、通常は章タイトルや文書タイトルなどを記載します。
- フッター文書の下部に表示される部分で、ページ番号や作成日などを記載します。
これらは、文書全体またはセクションごとに設定できます。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”のように指定します。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
Word VBAを使うことで、ヘッダーやフッターの設定を自動化し、文書作成の効率を大幅に向上させることができます。初心者の方でも、上記のコードを参考にして、少しずつ自分の文書に合わせた設定を試してみてください。
他にも疑問やお悩みがあれば、お気軽にLINEからお声掛けください。
コメント