VB6运行时类型检索

DAC*_*DAC 6 vb6 runtime

如何在运行时获取VB6中的Object类型(作为字符串的名称就足够了)?

即:像:

If Typeof(foobar) = "CommandButton" Then ...
Run Code Online (Sandbox Code Playgroud)

/编辑:澄清一下,我需要检查动态类型对象.一个例子:

Dim y As Object 

Set y = CreateObject("SomeType")

Debug.Print( <The type name of> y)
Run Code Online (Sandbox Code Playgroud)

输出将是"CommandButton"

Kri*_*son 8

我认为你要找的是TypeName而不是TypeOf.

If TypeName(foobar) = "CommandButton" Then
   DoSomething
End If
Run Code Online (Sandbox Code Playgroud)

编辑:你是什么意思动态对象?你的意思是用CreateObject("")创建的对象,因为它仍然可以工作.

编辑:

Private Sub Command1_Click()
    Dim oObject As Object
    Set oObject = CreateObject("Scripting.FileSystemObject")
    Debug.Print "Object Type: " & TypeName(oObject)
End Sub
Run Code Online (Sandbox Code Playgroud)

输出

Object Type: FileSystemObject