web-dev-qa-db-ja.com

ヘッダーとフッターを編集するためのWORD2010マクロ

私は基本的なVBAの経験しかなく、以前のマクロの経験は主にWord 2003でした。マクロの記録はGoToFooter(またはEdit Footer)メニューコマンドを取り、その後の編集を可能にするために使用されました。 Word 2010では、この(および他の多くの)コマンドはマクロに「記録」されません(ただし、記録モードの場合は、フッターの編集機能に入ります)。

さまざまなVBSオプションの調査により、フッターを作成し、マクロ内でグローバルフッター設定を変更するいくつかの方法が示されています。ただし、フッター内で会社名を変更したいだけの場合(たとえば)、マクロサブルーチン内でこれを行う方法が見つかりません。

このサブルーチンは、フォルダー(およびサブフォルダー)内の各ファイルをステップスルーするメインマクロから呼び出すものです。メインのマクロが機能しています。

Word 2010 Macro-VBAは、単純なEdit-Footer機能を排除しますか?

前もって感謝します

だから、Issunのおかげで、ここに私の解決策があります:

`
Sub Sub_FTR_0()
'
ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter

For i = 1 To ActiveDocument.Sections.Count
 'REM: INSERT Code from RECORD MACRO recorded when editing one Footer correctly
    Selection. [[xxx]], etc.

If i = ActiveDocument.Sections.Count Then GoTo Line1

    ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter

Line1:
Next

    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

End Sub
`
7
Dan

これは、VBAを介してヘッダー/フッターにアクセスする方法です。ご覧のとおり、非常に単純なものに到達するのはかなり複雑な構文です:p there

Sub EditHeadersAndFooters()

Dim i As Long

For i = 1 To ActiveDocument.Sections.Count
    With ActiveDocument.Sections(i)
        .Headers(wdHeaderFooterPrimary).Range.Text = "Foo"
        .Footers(wdHeaderFooterPrimary).Range.Text = "Bar"
    End With
Next

End Sub

これは、フォルダー内のすべてのファイルのヘッダーを変更する方法に関するサンプルコードへのリンクです。別のアプローチを取り、私はそれを試したことがありませんが、参考までに: http://www.vbaexpress.com/kb/getarticle.php?kb_id=45

10
aevanko

これは、ドキュメント内のすべてのページで機能しました。

Word.ActiveDocument.Sections(1).Headers(1).Range.Text = "ここにヘッダーを配置"

1
Gabriela M