用户定义类型的 VarType
Posted
技术标签:
【中文标题】用户定义类型的 VarType【英文标题】:VarType for user defined type 【发布时间】:2013-08-07 18:17:04 【问题描述】:我的 VBA 代码中有一些用户定义的对象,我想知道是否有一种方法可以检查对象类型是什么。有点像
Dim myObject as Variant
Set myObject= New Employee
If(myObject isType Employee)
Do Something
Else
Do something else
我在考虑 VarType() 函数,但它显然不适用于用户定义的类型。还有什么我可以用的吗?
【问题讨论】:
“用户定义的对象”是指“类”? 【参考方案1】:这样做有两种可能性。下面的代码应该解释一切。看看里面的一些额外的 cmets:
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
【讨论】:
【参考方案2】:我相信您正在寻找TypeOf
。使用上面的示例,可以按如下方式使用:
Dim myObject as Variant
Set myObject= New Employee
If TypeOf myObject is Employee Then
Do Something
Else
Do SomethingElse
End If
【讨论】:
以上是关于用户定义类型的 VarType的主要内容,如果未能解决你的问题,请参考以下文章