Power Shell で生成された MS Word ドキュメントのヘッダーとフッターに Page 1 of X リストのような AUTOTEXT エントリを追加する必要があるプロジェクトに取り組んでいます。次の C# の例からアイデアを抽出しようとしましたが、それを機能させる方法がわかりません。誰かがこれを助けるためにいくつかのコードを共有できるかどうか興味がありました.
1111 次
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を作成し、Macro
PowerShellから実行することです。
$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以降の場合macro
)normal.dot
。normal.dotm
このようにして、ドキュメント内のアクションをマクロに記録するヘッダー/フッターだけでなく、Wordドキュメントに必要なものをカスタマイズできます。
于 2012-05-25T22:38:37.180 に答える