Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダー・フッターを前と同じにするWordマクロ

ヘッダー・フッターを前と同じにするWordマクロ

対象:Word2007, Word2010, Word2013

ヘッダー・フッターを前と同じにするWordマクロ

「ワードvba フッター セクション 前と同じ」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

複数のセクションに分かれている文書で、ヘッダー・フッターの設定を前と同じにするVBA(Visual Basic for Applications)のコード・Wordマクロを探している方による検索です。

[スポンサードリンク]

全セクションのヘッダー・フッターを前と同じにするサンプルマクロ

以下のようなマクロで、アクティブな文書の、すべてのセクションの、ヘッダーとフッターを前のセクションと同じにすることができます。


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.LinkToPrevious = True
  Next
  For Each hd_ft In sec.Footers
   hd_ft.LinkToPrevious = True
  Next
 Next sec
End Sub

アクティブ文書の全セクションに対してループを回して、
 For Each sec In ActiveDocument.Sections

各セクション内の、すべてのヘッダーに対してループを回し、
  For Each hd_ft In sec.Headers
ヘッダーのLinkToPreviousプロパティをTrueに設定しています。
   hd_ft.LinkToPrevious = True

続いて、各セクション内の、すべてのフッターに対してループを回し、
  For Each hd_ft In sec.Headers
フッターのLinkToPreviousプロパティをTrueに設定しています。
   hd_ft.LinkToPrevious = True

もし、フッターだけを前と同じにしたいのなら、
  For Each hd_ft In sec.Headers
ではじまるヘッダーのループ処理を削除して
  For Each hd_ft In sec.Footers
ではじまるフッターのループ処理だけにしてください。

HeaderFooterオブジェクトについて

オブジェクトブラウザーで確認すると、Sectionオブジェクトには、
Headersプロパティと、

ヘッダー・フッターを前と同じにするWordマクロ

Footersプロパティが存在しますが、

ヘッダー・フッターを前と同じにするWordマクロ

上図のとおり、いずれもHeadersFootersコレクションオブジェクトを返します。

ヘッダーとフッターは別に扱うこともできるので、HeadersコレクションオブジェクトとFootersコレクションオブジェクトが用意されていてもいいように感じますが、HeadersFootersコレクションオブジェクトとなっています。

HeadersFottersは、HeaderFooterオブジェクトを個々のオブジェクトとして持つコレクションオブジェクトです。

個々のHeaderFooterオブジェクトに何が含まれているのかを疑問に持つ方も多いでしょう。

HeadersFottersコレクションオブジェクトの、Itemプロパティには、WdHeaderFooterIndex列挙型の、

ヘッダー・フッターを前と同じにするWordマクロ

定数を指定できます。

具体的には、
 wdHeaderFooterEvenPages
 wdHeaderFooterFirstPage
 wdHeaderFooterPrimary
という3つの定数が用意されています。

ヘッダー・フッターを前と同じにするWordマクロ

この定数の名前から想像できるとおり、
wdHeaderFooterEvenPagesを指定すれば
 偶数ページのHeaderFooterオブジェクト
wdHeaderFooterFirstPageを指定すれば
 セクションの1ページ目のHeaderFooterオブジェクト
wdHeaderFooterPrimaryを指定すれば
 主たるHeaderFooterオブジェクト
が、それぞれ取得できます。

このように、各セクションに3つのHeaderHooterオブジェクトが存在しているので、上記のマクロでは
ヘッダーのHeadersHootersコレクションオブジェクトに対して、
  For Each hd_ft In sec.Headers
ループを回し、続いてフッターのHeadersHootersコレクションオブジェクトに対して、
  For Each hd_ft In sec.Footers
ループを回しています。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダー・フッターを前と同じにするWordマクロ

TrackBack:3

TrackBack URL
ヘッダー・フッターを削除するWordマクロ from インストラクターのネタ帳
アクティブな文書のヘッダー・フッターをすべて削除するWordマクロ、開いている全文書のヘッダー・フッターをすべて削除するWordマクロをご紹介しています。
ヘッダーをまとめて編集するWordマクロ from インストラクターのネタ帳
複数の文書のヘッダーをまとめて変更するWord(ワード)マクロをご紹介しています。
ヘッダー・フッターのフォントサイズを変更するWordマクロ from インストラクターのネタ帳
ヘッダー・フッターのフォントサイズをまとめて変更するWord(ワード)マクロをご紹介しています。

Home » ワードマクロ・Word VBAの使い方 » ヘッダー・フッター » ヘッダー・フッターを前と同じにするWordマクロ

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

検索


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

.