问题源于:在是EXCEL中引用一个DLL[VBAPrj]
待解决问题:当不存在所需要的引用[VBAPrj]时,提示“所需要的引用[VBAPrj]不存在!”
================================================================================
EXCEL中的宏:
Sub ErrorTest()
On Error GoTo errHand
Dim a As New VBACls \当我把EXCEL中所需要的引用[VBAPrj]去掉时,这里提示用户定义类型未定义,不会转到错误处理行。
a.test
Exit Sub
errHand:
MsgBox ("所需要的引用不存在!")
End Sub===================================================================================================
有没办法实现:当不存在所需要的引用[VBAPrj]时,提示“所需要的引用[VBAPrj]不存在!”,即转到errHand行?
待解决问题:当不存在所需要的引用[VBAPrj]时,提示“所需要的引用[VBAPrj]不存在!”
================================================================================
EXCEL中的宏:
Sub ErrorTest()
On Error GoTo errHand
Dim a As New VBACls \当我把EXCEL中所需要的引用[VBAPrj]去掉时,这里提示用户定义类型未定义,不会转到错误处理行。
a.test
Exit Sub
errHand:
MsgBox ("所需要的引用不存在!")
End Sub===================================================================================================
有没办法实现:当不存在所需要的引用[VBAPrj]时,提示“所需要的引用[VBAPrj]不存在!”,即转到errHand行?
Sub ErrorTest()
Dim a As Object
On Error GoTo errHand
Set a = CreateObject("VBACls")
a.test
Exit Sub
errHand:
MsgBox ("所需要的引用不存在!")
End Sub
当前所有引用的列表:
Sub ShowRefs()
Dim rf
For Each rf In ThisWorkbook.VBProject.References
Debug.Print rf.Name, rf.FullPath
Next
End Sub
Sub ErrorTest()
Dim a As Object
On Error Resume Next
Set a = CreateObject("VBAPrj.VBACls")
If a Is Nothing Then
ThisWorkbook.VBProject.References.AddFromFile ("c:\VBAPrj.dll")
End If
Set a = CreateObject("VBAPrj.VBACls")
If a Is Nothing Then GoTo errHand
a.test
Exit Sub
errHand:
MsgBox ("所需要的引用不存在!")
End Sub
Sub ErrorTest()
Dim a As Object
On Error Resume Next
Set a = CreateObject("VBAPrj.VBACls")
If a Is Nothing Then
ThisWorkbook.VBProject.References.AddFromFile ("c:\VBAPrj.dll")
Set a = CreateObject("VBAPrj.VBACls")
End If
If a Is Nothing Then GoTo errHand
a.test
Exit Sub
errHand:
MsgBox ("所需要的引用不存在!")
End Sub