gpt4 book ai didi

vbscript - 使用 VBScript 关闭 Word 会留下临时的 Word 文档

转载 作者:行者123 更新时间:2023-12-05 05:11:08 25 4
gpt4 key购买 nike

我无法使用 VBScript 关闭 Word 文档。当(通过脚本)打开 Word 文档时,Word 会创建一个临时的 ~$ 文件。例如,打开 test.docx 还会创建一个名为 ~$test.docx 的临时文件。我明白这是正常的。但问题是,当我关闭 test.docx 时,主文档 test.docx 正确关闭,但 ~$test.docx 仍然打开。由于要处理的文件很多,因此很快就会产生大量这些临时文件。它们作为后台进程出现在任务管理器中。我在关闭文件时做错了什么?我使用的代码是:

Set objWord = CreateObject("Word.Application")
objWord.Visible = False
objWord.DisplayAlerts = 0
objWord.Documents.Open FilePath 'FilePath previously set

'Do stuff (reading properties)

objWord.Documents.Close 0 'Close opened documents without saving
objWord.Quit
Set objWord = Nothing

最佳答案

objWord 变量可能是对 Word 应用程序的“全局”引用,在脚本顶部某处定义。
只要调用程序处于事件状态,此全局引用就会保持不变,因为操作系统不会在调用程序处于事件状态时结束自动化应用程序。

如果是这种情况,将代码包装在一个函数中并在其中定义单词对象应该可以解决它,因为这样对象就具有局部作用域并且不存在于函数之外。

像这样:

Function DoWordThings(FilePath)
Dim oWord
Set oWord = CreateObject("Word.Application")
oWord.Visible = False
oWord.DisplayAlerts = 0
oWord.Documents.Open FilePath 'FilePath now used as parameter to the function

'Do stuff (reading properties and returning them to the caller of this function)

oWord.Documents.Close 0 'Close opened documents without saving
oWord.Quit
Set oWord = Nothing
End Function

关于vbscript - 使用 VBScript 关闭 Word 会留下临时的 Word 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55799732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com