【问题标题】:Word: Close Select DocumentsWord:关闭选择文档
【发布时间】:2017-05-14 23:15:17
【问题描述】:

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

但是,每当我重新运行相同的脚本时,都会提示 Word 文件已打开并已锁定以进行编辑。我手动转到任务管理器并结束所有打开的 Word 进程。是否有脚本来检查特定的 Word 文件是否已打开,如果是,它将终止该进程?

【问题讨论】:

    标签: vbscript ms-word terminate


    【解决方案1】:

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

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

    完成此操作后,您可以继续创建 word 文件。即使有多个进程在运行,它们也会全部终止。

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

    想了解更多关于taskkill命令,可以参考本站:https://technet.microsoft.com/en-in/library/bb491009.aspx

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

    案例一:当你知道要关闭的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
    

    【讨论】:

    • 感谢 Gman!如果我只想杀死一个 Word 文档(例如 Document.docx)怎么办?上面的代码关闭了所有打开的 Word 文档。
    • @AngeliqueCastaneda 请参阅编辑 2。
    猜你喜欢
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    相关资源
    最近更新 更多