我的 VBA 代码中有一些用户定义的对象,我想知道是否有办法检查对象类型是什么。就像是
Dim myObject as Variant
Set myObject= New Employee
If(myObject isType Employee)
Do Something
Else
Do something else
我在想 VarType() 函数,但它显然不适用于用户定义的类型。还有什么我可以使用的吗?
我的 VBA 代码中有一些用户定义的对象,我想知道是否有办法检查对象类型是什么。就像是
Dim myObject as Variant
Set myObject= New Employee
If(myObject isType Employee)
Do Something
Else
Do something else
我在想 VarType() 函数,但它显然不适用于用户定义的类型。还有什么我可以使用的吗?
这样做有两种可能性。下面的代码应该解释一切。请参阅里面的一些附加评论:
Sub qTest()
Dim myObject As Variant
Set myObject = New Employee
'return results to Immediate
Debug.Print TypeName(myObject) '>> will return class name
Debug.Print TypeOf myObject Is Employee '>>will return true
'using with 'if statements', both will return true
If TypeName(myObject) = "Employee" Then
MsgBox "OK"
End If
If TypeOf myObject Is Employee Then
MsgBox "OK"
End If
End Sub
我相信你正在寻找TypeOf
. 使用上面的示例,可以按如下方式使用:
Dim myObject as Variant
Set myObject= New Employee
If TypeOf myObject is Employee Then
Do Something
Else
Do SomethingElse
End If