概述
我在excel中构建了一个vba程序,其目的是生成一个pdf文档。它的方式是,它填充一个单词ducment然后打印为pdf。
由于ux的原因,我已经决定用户不应该看到应用程序这个词。
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = False
问题
我的问题来自于使用代码的一天。在运行和退出执行中后,我已经建立了一些隐藏的单词应用程序。 (正常执行不受此影响,因为我在代码的最后几行将wdApp设置为null)。
如何关闭所有这些隐藏的单词应用程序?
编辑:
阅读完评论后,我开始使用代码来部分完成我想要的内容。
Sub CloseWordFile_If_Open_And_Not_Visible()
Dim wdApp As Object
On Error Resume Next
On Error GoTo 0
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
On Error GoTo 0
If wdApp Is Nothing Then
Exit Sub
End If
Do While wdApp.Visible = False
wdApp.Quit SaveChanges:=wdDoNotSaveChanges
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
On Error GoTo 0
If wdApp Is Nothing Then
Exit Sub
End If
Loop
End Sub
此代码的唯一问题是,如果它看到一个单词的实例,即.visible = true,那么它会停止并退出,而不会关闭任何后续的单词应用程序(其中.visible = false)。
有没有办法跳过这个单词实例并注册另一个单词应用程序,以便GetObject(,“Word.Application”)返回另一个应用程序?