我有一个解析Word文档数据的脚本。我今天早上到办公室意识到脚本没有完成,挂在“使用中的文件”对话框中。我在MSDN上找到了对$true
参数的引用 - 打开只读 - 但我仍然得到了对话框。
当然,有一件事导致另一件事,现在我也会得到一个对话框,询问我是否要在我打开NEXT文档之前保存更改,因为无法访问一个打开的对话框。叹。如何打开文档,扫描我的数据(超链接)然后关闭文档而不保存?
此处显示代码。我没有包括我将$hyperlinks
写入文件的步骤;我只是专注于让文件读取关闭部分工作。
$global:word = new-object -ComObject Word.Application
$word.Visible = $False
$backupPath = "\\Path\to\files\" # Backup data path
$srcfiles = Get-ChildItem $backupPath -filter "*.doc"
#
foreach ($doc in $srcfiles) {
$word.documents.Open($doc.Fullname,$true);
$links = @($doc2.Hyperlinks);
$links
$word.Quit();
}
答案 0 :(得分:6)
如需阅读,请尝试以下方法:
$word.Documents.Open("$doc.Fullname", $false, $true)
关闭,试试这个:
$word.Documents.Close($false)
MSDN链接似乎非常清楚这些参数需要出现的顺序,以上内容对我有效。
答案 1 :(得分:0)
可能您忘记了关闭程序中的文件。对我而言,延迟文件。Close()(goLang)修复了该文件。