如何在VB6中检查对象的类型-除了';TypeName';
如何在VB 6中检查对象的类型-除了“TypeName”之外,还有其他方法吗?因为用“TypeName”检查对象是不可行的。我希望使用类似QuichWatch窗口的方法。对于对象变量,请使用如何在VB6中检查对象的类型-除了';TypeName';,vb6,Vb6,如何在VB 6中检查对象的类型-除了“TypeName”之外,还有其他方法吗?因为用“TypeName”检查对象是不可行的。我希望使用类似QuichWatch窗口的方法。对于对象变量,请使用TypeOf。。。是: If TypeOf VarName Is TypeName Then ''# ... End If 例如: Dim fso As New Scripting.FileSystemObject If TypeOf fso Is Scripting.FileSystemObject
TypeOf。。。是
:
If TypeOf VarName Is TypeName Then
''# ...
End If
例如:
Dim fso As New Scripting.FileSystemObject
If TypeOf fso Is Scripting.FileSystemObject Then
Debug.Print "Yay!"
End If
再加上@Tomalak的答案。。。如果对象变量尚未实例化,则使用TypeOf进行测试将导致运行时错误。还要注意,类可以实现接口,例如
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
Dim fs As Scripting.FileSystemObject
关于错误转到错误处理程序
如果fs的类型为Scripting.FileSystemObject,则
Debug.Print“[无法到达此处]”
如果结束
错误处理程序:
如果错误号为0,则
Debug.Print“Oops,fs为空时出错”
如果结束
出错时继续下一步
Set fs=New Scripting.FileSystemObject
如果fs的类型为Scripting.FileSystemObject,则
“是一个文件系统对象”
如果结束
如果fs的类型为IFileSystem,则
Debug.Print“实现IFileSystem”
如果结束
试试这个
dim obj as object
for each obj in me
debug.print TypeName(obj)
next
谢谢,但一定要检查对象的类型,我们必须修改现有的代码,有没有像移动光标或移动光标这样的方法,或者像quick watch这样的方法,我可以看到它的类型