PowerShell добавляет коды полей в нижний колонтитул MS Word - PullRequest
1 голос
/ 30 ноября 2010

У меня есть коды полей, установленные в некоторых документах, которые будут отображать текущую дату, когда она будет напечатана, но, насколько я знаю, будут невидимы в остальное время. Теперь мне нужно применить этот нижний колонтитул к сотням документов. Кажется, что это должно быть возможно сделать с PowerShell, но я действительно не знаю, как его использовать, и не могу найти хорошую справку / документацию (До сих пор я получил его, чтобы открыть документ, заменить текст и закрыть документ). Я хотел бы, чтобы следующий код поля находился справа от каждого нижнего колонтитула:

{IF {PRINTDATE \ @ "М / д / гггг ч: мм"} = {ДАТА \ @ "М / д / гггг ч: мм"} "НЕКОНТРОЛИРУЕМАЯ КОПИЯ С {ДАТА \ @" М / д / гггг "}" ""

Я знаю, что это, вероятно, ужасный способ сделать это, но реальный вопрос в том, как добавить коды полей в нижние колонтитулы в документах Word 2007 с помощью PowerShell?

1 Ответ

1 голос
/ 15 апреля 2011

Спасибо crobin1 в tek-tips за ответ на этот вопрос. Он сказал, что ссылается на http://msdn.microsoft.com/en-us/library/bb258930%28v=office.12%29.aspx и на связку "Эй, сценарист!" записи в блоге
Вот пример сценария, который в значительной степени делает то, что я хотел.

функция Edit-Footer ([строка] $ документ) {

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

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

-опция постоянная

$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() }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...