How to check type of object in VB 6 - Is there any method other than 'TypeName'

后端 未结 3 892
半阙折子戏
半阙折子戏 2020-12-04 02:53

How to check type of object in VB 6 - Is there any method other than \'TypeName\' because its not feasible to check it witrh \'TypeName\' I am expecting something like Quich

相关标签:
3条回答
  • 2020-12-04 03:23

    try this one.

    dim obj as object
    for each obj in me
       debug.print TypeName(obj)
    next
    
    0 讨论(0)
  • 2020-12-04 03:35

    For object variables, use TypeOf ... Is:

    If TypeOf VarName Is TypeName Then
      ''# ...
    End If
    

    For example:

    Dim fso As New Scripting.FileSystemObject
    
    If TypeOf fso Is Scripting.FileSystemObject Then
      Debug.Print "Yay!"
    End If
    
    0 讨论(0)
  • 2020-12-04 03:44

    Just to add to @Tomalak's answer... If the object variable has not been instantiated then testing with TypeOf will cause a run time error. Also note the class may implement interfaces e.g.

    Dim fs As Scripting.FileSystemObject
    
    On Error Goto Err_Handler
    
    If TypeOf fs Is Scripting.FileSystemObject Then
      Debug.Print "[Won't get here]"
    End If
    
    Err_Handler:
    
    If Err.Number <> 0 Then
      Debug.Print "Oops, error when fs Is Nothing"
    End If
    
    On Error Resume Next
    
    Set fs = New Scripting.FileSystemObject
    
    If TypeOf fs Is Scripting.FileSystemObject Then
      Debug.Print "Is a FileSystemObject"
    End If
    
    If TypeOf fs Is IFileSystem Then
      Debug.Print "Implements IFileSystem "
    End If
    
    0 讨论(0)
提交回复
热议问题