单词:关闭选择文档

时间:2017-05-14 08:22:00

标签: vbscript ms-word terminate

我在Excel中有这个VB脚本,可以从Excel文件创建Word文档。

但是,每当我重新运行相同的脚本时,我都会收到Word文件为Open和Locked for Editing的提示。我手动转到任务管理器并结束所有打开的Word进程。是否有一个脚本来检查特定的Word文件是否打开,如果是,它将终止进程?

1 个答案:

答案 0 :(得分:1)

在创建word文档之前,您可以通过放置以下代码来关闭进程WINWORD.EXE:

CreateObject("WScript.Shell").Run "taskkill /f /im WINWORD.EXE", 0

执行此操作后,您可以继续创建单词文件。即使有多个进程在运行,它们也都会被终止。

这里,/ f表示强制删除进程,/ im表示我们正在传递进程名称(在本例中为WINWORD.EXE)。

要了解有关taskkill命令的更多信息,请参阅此站点:https://technet.microsoft.com/en-in/library/bb491009.aspx

编辑2: 如果打开了多个文档,并且您只想关闭其中一个文档,则可以编写以下代码来关闭该特定文档:

案例1:当您知道要关闭的word文件的确切路径

strPath = "store the word file path in this variable"

set objDoc = getobject(strPath)
objDoc.close

set objDoc = Nothing

案例2:当您只知道名称时(让我们说名称是 Document1 )而不是路径

set objWord = getobject(,"word.application")
set objDocs = objWord.Documents
for each doc in objDocs
    If strComp(doc.name,"Document1",1)=0 then
        doc.close
        Exit For     
    End If
next
set objDocs = Nothing
set objWord = Nothing