从excel vba关闭word应用程序

时间:2016-12-12 12:11:25

标签: vba excel-vba excel

我尝试在我的宏开头关闭所有单词应用程序,如果它已打开,虽然我不知道哪些文档是打开的,我无法设置它们作为一个对象。 感谢。

3 个答案:

答案 0 :(得分:4)

这将关闭所有正在运行的Word文档。

如果没有运行Word应用程序实例,则需要On Error Resume Next来防止错误。

Option Explicit

Sub CloseWordDocuments()

    Dim objWord As Object

    Do
        On Error Resume Next
        Set objWord = GetObject(, "Word.Application")
        If Not objWord Is Nothing Then
            objWord.Quit
            Set objWord = Nothing
        End If
    Loop Until objWord Is Nothing

End Sub

答案 1 :(得分:1)

尝试下面的代码,它将关闭Word应用程序(不保存)。

Option Explicit

Sub CloseWordWindows()

Dim objWord As Object

On Error Resume Next
Set objWord = GetObject(, "Word.Application")

' if no active Word is running >> exit Sub
If objWord Is Nothing Then
    Exit Sub
End If

objWord.Quit
Set objWord = Nothing

End Sub

答案 2 :(得分:1)

另一个选择是使用Shell来访问

的优雅
Sub Comesfast()
X = Shell("powershell.exe kill -processname winword", 1)
End Sub