Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダーフ&ッターのフォントサイズをWord VBAで変更する

ヘッダーフ&ッターのフォントサイズをWord VBAで変更する

対象:Word2007, Word2010, Word2013

「フッダーのフォントサイズ word マクロ」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

揚げ足取りのようで恐縮ですが、「フッダー」ではなく「フッター」(footer)です。逆に「ヘッター」と言ってしまう方もよくいらっしゃいますが、こちらは「ヘッダー」(header)ですので。

で、そのフッターのフォントサイズをどうにかするWordマクロ・VBA(Visual Basic for Applications)のコードを探していたのでしょう。
ここでは参考になりそうなマクロを2つご紹介しておきます。

[スポンサードリンク]

フッターのフォントサイズを変更するサンプルマクロ

まずは、アクティブな文書の、フッターのフォントサイズをすべて変更するマクロです。

Sub アクティブ文書のフッターのフォントサイズを変更する()

 Dim sec As Section
 Dim ftr As HeaderFooter

 For Each sec In ActiveDocument.Sections
  For Each ftr In sec.Footers
   ftr.Range.Font.Size = 9
  Next ftr
 Next sec

End Sub

ヘッダー&フッターというのは、セクションごとに指定することができます。

更に、奇数ページと偶数ページで異なるヘッダー&フッターを設定したり、先頭ページだけ異なったヘッダー&フッターにしたりといったことができます。

そのため上記のマクロでは、アクティブな文書の全セクションを表すSectionsコレクションオブジェクトを対象として、For Each~Nextループを開始して、
 For Each sec In ActiveDocument.Sections

更に、各セクションの全フッターを表すFootersコレクションオブジェクトを対象として、For Each~Nextループを回し、
  For Each ftr In sec.Footers

各フッターのフォントサイズを変更しています。
   ftr.Range.Font.Size = 9

ヘッダー&フッターのフォントサイズを変更するサンプルマクロ

続いて、アクティブな文書の、ヘッダーとフッターのフォントサイズをすべて変更するマクロです。

Sub アクティブ文書のヘッダーとフッターのフォントサイズを変更する()

 Dim sec As Section
 Dim hd_ft As HeaderFooter

 For Each sec In ActiveDocument.Sections

  For Each hd_ft In sec.Headers
   hd_ft.Range.Font.Size = 9
  Next hd_ft

  For Each hd_ft In sec.Footers
   hd_ft.Range.Font.Size = 9
  Next hd_ft

 Next sec

End Sub

先ほどのフッターのフォントサイズを変更するマクロに、すべてのヘッダーを表すHeadersコレクションオブジェクトを対象としたFor Each~Nextループが追加されています。
  For Each hd_ft In sec.Headers

Wordのヘッダー&ッターのオブジェクトモデルに慣れていないと、ちょっとビックリするかもしれませんが、すべてのヘッダー&フッターに対して処理を行うには、このマクロで行っているように、
 For Each sec In ActiveDocument.Sections
  For Each hd_ft In sec.Headers
  Next hd_ft
  For Each hd_ft In sec.Footers
  Next hd_ft
 Next sec
セクション向けのループの中で、ヘッダー向けのループ、フッター向けのループをそれぞれ回すのが、定番の処理方法です。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダーフ&ッターのフォントサイズをWord VBAで変更する

「ヘッダー・フッター」の記事一覧

検索


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

.