2010-11-30 33 views
1

我在某些文檔中設置了字段代碼,這些代碼將在打印時顯示當前日期,但據我所知在其餘時間內將不可見。我現在需要將這個頁腳應用於數百個文檔。看起來應該可以使用PowerShell,但我真的不知道如何使用它,並且找不到一個好的參考/文檔(到目前爲止,我已經獲得它來打開文檔,替換文本,並且關閉文件)。我希望以下字段代碼位於每個頁腳部分的右側:PowerShell將字段代碼添加到ms單詞頁腳

{IF {PRINTDATE \ @「M/d/yyyy h:mm」} = {DATE \ @「M/d/yyyy h:mm「}」UNCONTROLLED COPY as of {DATE \ @「M/d/yyyy」}「」「

我知道這可能是一種可怕的方式,但真正的問題是,使用PowerShell將字段代碼添加到Word 2007文檔中的頁腳?

回答

1

感謝crobin1在tek提示爲這個答案。他說他參考了http://msdn.microsoft.com/en-us/library/bb258930%28v=office.12%29.aspx和一堆「嘿,腳本專家!」博客條目
下面是一個腳本示例,幾乎可以做我想做的事情。

功能編輯頁腳 ([字符串] $文獻){

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

#Variables used 
set-variable -name wdAlignPageNumberCenter -value 1 

-option恆定

$fc1 = @" IF {PRINTDATE \@ "M/d/yyyy h:mm"}={DATE \@ "M/d/yyyy h:mm"} "UNCONTROLLED COPY AS OF {DATE \@ "M/d/yyyy"}" " " "@ 


$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() }