我正在处理大量使用字段和交叉引用(内部和文档之间)的 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.")
}
...
但我被困在如何选择文件的内容并更新它,即必须进入这个代码而不是两个 ???-标记来实现我想要的?