0

Power Shell で生成された MS Word ドキュメントのヘッダーとフッターに Page 1 of X リストのような AUTOTEXT エントリを追加する必要があるプロジェクトに取り組んでいます。次の C# の例からアイデアを抽出しようとしましたが、それを機能させる方法がわかりません。誰かがこれを助けるためにいくつかのコードを共有できるかどうか興味がありました.

4

1 に答える 1

1

出発点。この関数は、パラメーターとして渡されたドキュメントのフッターにページ番号を追加します(Word 2010で使用)。

function Add-PageFooter ([string]$Document) {

add-type -AssemblyName "Microsoft.Office.Interop.Word" 

set-variable -name wdAlignPageNumberCenter -value 1 -option constant

$fc1 =  "Page"

$word = New-Object -comobject Word.Application
$Word.Visible = $True
#$Word.Visible = $False

$fc2 = [ref] "" -as [Type]

$OpenDoc = $Word.Documents.Open($Document)
$c = $OpenDoc.Sections.Item(1).Footers.Item(1).PageNumbers.Add($wdAlignPageNumberCenter)
$range1 = $openDoc.Sections.Item(1).Footers.Item(1).range
$field1 = $OpenDoc.Fields.Add($range1, -1, $fc2)
$field1.Code.Text = $fc1
$field1.Update

#$OpenDoc.Close() 
}

もう1つの方法は、Wordを作成し、MacroPowerShellから実行することです。

$wd = new-object -comobject word.application # create a com object interface (word application)

$wd.documents.open("C:\word\test.doc") # open doc

$wd.run("Macro01") # exec macro named macro01 that add custom footer and/or header

$wd.quit() # exit application

開いているすべてのドキュメントに保存するには、を保存する必要があります(2010以降の場合macronormal.dotnormal.dotm

このようにして、ドキュメント内のアクションをマクロに記録するヘッダー/フッターだけでなく、Wordドキュメントに必要なものをカスタマイズできます。

于 2012-05-25T22:38:37.180 に答える