Excel VBA运行时第二次出错



有人能告诉我为什么第二次运行宏时收到运行时错误吗?

Dim wApp as Object
Dim wDoc as Object
Set wApp = CreateObject("word.Application")
Set wDoc = wApp.Documents.Add(Template:="Test.dotm", Visible:=True)

在Microsoft支持下:"Visual Basic已经建立了对Word的引用,因为有一行代码调用了Word对象、方法或属性,而没有使用Word对象变量对其进行限定。在程序结束之前,Visual Basic不会发布此引用。当代码多次运行时,此错误引用会干扰自动化代码"我在代码中没有看到任何不合格的对象、方法或属性。

我认为MS Word很可能已经在运行了。因此,下面是我的库中的几个例程,用于检查MS Word是否已经在运行,并连接到进程。

Option Explicit
Public Function MSWordIsRunning() As Boolean
'--- quick check to see if an instance of MS Word is running
Dim msApp As Object
On Error Resume Next
Set msApp = GetObject(, "Word.Application")
If Err > 0 Then
'--- not running
MSWordIsRunning = False
Else
'--- running
MSWordIsRunning = True
End If
End Function
Public Function AttachToMSWordApplication() As Word.Application
'--- finds an existing and running instance of MS Word, or starts
'    the application if one is not already running
Dim msApp As Word.Application
On Error Resume Next
Set msApp = GetObject(, "Word.Application")
If Err > 0 Then
'--- we have to start one
'    an exception will be raised if the application is not installed
Set msApp = CreateObject("Word.Application")
End If
Set AttachToMSWordApplication = msApp
End Function

最新更新