0

我正在处理大量使用字段和交叉引用(内部和文档之间)的 Word 文档。要更新这些并在更改后再次使所有内容保持一致,我必须打开每个文件,选择整个文件的内容(相当于按 Ctrl-A)并更新所有字段(相当于按 F9)。而且我必须对所有文件执行两次,以便所有文件间交叉引用也正确更新。

由于这是一个相当乏味和冗长的过程,我想为我写一个小 PowerShell 脚本来为我做这件事。更新文件的相关函数如下所示:

...
function UpdateDoc([object]$word, [object]$fileHandle) {
    Write-Host("Updating: '" + $fileHandle.Name + "' ('" + $fileHandle.FullName + "'):")
    # open the document:
    $doc = $word.Documents.Open($fileHandle.FullName)
    # select the entire document:
    ???
    # update it:
    ???
    # then save it:
    $doc.Save
    $doc.Close
    Write-Host("'" + $fileHandle.Name + "' updated.")
}
...

但我被困在如何选择文件的内容并更新它,即必须进入这个代码而不是两个 ???-标记来实现我想要的?

4

1 回答 1

0

你试过了吗:

$doc.Fields | %{$_.Update()}

那应该更新所有字段

于 2012-11-15T03:21:29.553 回答