首页 > 解决方案 > VBA EXCEL:TypeOf 不能与 If 一起正常工作

问题描述

我正在使用 typeOf 来检查设置为 Object 的变量类型是否是用户定义的类型,即使使用正确的用户定义类型 typeOf 设置该变量也一直返回 false。

我该如何解决这个问题?是否有另一种方法可以将泛型类型与对象的特定类型进行比较?

Dim doc As planDOC: Set doc = createObj.doc(config.getDOC, New planDOC, config, rlt)

Public Function doc(str As String, ByVal var As Object, Optional ByVal var2 As Object, Optional ByVal var3 As Object) As Object
    Dim obj As baseDOC: Set obj = New baseDOC
    obj.InitializeProperties var:=str
    If TypeOf var Is planDOC Then
        var.InitializeProperties var:=obj, var1:=var2, var2:=var3
        Set doc = var
        Exit Function
     End If
    If TypeOf var Is formDOC Then
        var.InitializeProperties var:=obj, var2:=var2, var3:=var3
        Set doc = var
    End If
End Function

标签: excelvba

解决方案


推荐阅读