有没有办法检查变量最初是否被声明为Variant
数据类型?
考虑以下示例:
Public Sub mainMethod()
Dim a As Variant
Dim b As String
a = "a"
b = "b"
Debug.Print "a: " & VBA.TypeName(a) & " | " & VBA.VarType(a)
Debug.Print "b: " & VBA.TypeName(b) & " | " & VBA.VarType(b)
End Sub
输出是:
a: String | 8
b: String | 8
将文本分配给声明为Variant
的变量后,检查变量类型(VarType
和TypeName
)的VBA内置函数都将其视为{{的变量1}}类型。
结果是变量String
和a
被上面提到的那些函数以相同的方式处理,尽管最初它们是用不同的数据类型声明的。
我知道如何通过使用b
函数解析方法体来检查它,但在这种情况下是不可接受的。