【问题标题】:How to find the return type in VBA如何在 VBA 中找到返回类型
【发布时间】:2012-05-07 12:12:58
【问题描述】:

我有一个 MS Access 应用程序,但无法找到函数的返回类型。有没有办法找到对象的返回类型?我有类型不匹配错误。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    如果是内置函数,请查看 Access 帮助主题。

    如果它是用户定义的函数,请检查其定义。

    如果两者都做不到,请使用TypeName() 函数告诉您YourFunction() 返回的数据类型。

    Debug.Print TypeName(YourFunction())
    

    如果YourFunction() 返回一个变体,TypeName() 会告诉您变体子类型

    Heinzi 建议使用VarType() 而不是TypeName()。我习惯性地首先使用TypeName(),只是因为它对我来说更快,而且我很少担心它的局限性。但是我同意 Heinzi 的观点; VarType() 更好。

    JP。提供了另外两个有用的建议。首先,您可以创建一个声明Variant 变量的简单过程,并将函数的返回值分配给该变量。然后在第一个Debug.Print 行添加一个临时断点(使用F9),运行程序,使用F8 逐行移动,并监视变量的局部变量窗口中的值。 (从 VB 编辑器的主菜单中打开该窗口。查看 -> 本地窗口)

    Public Sub examine_YourFunction()
        Dim varFoo As Variant
        Debug.Print "start"
        varFoo = YourFunction()
        Debug.Print varFoo
    End Sub
    

    其次,对于具有返回类型的内置函数,您可以利用 Intellisense 在键入函数名称和/或参数时查看返回类型。

    【讨论】:

    • +1,非常好的建议。如果您需要在运行时进行类型检查,我建议改用VarType function(以避免使用魔术字符串)。
    • + 1 同意 Heinzi :)
    • 您还可以声明一个 Variant 变量,运行函数并将其返回值分配给变量,然后使用局部变量窗口检查变量的值。而且,对于具有返回类型的内置函数,您可以在键入函数名称和/或参数时看到返回类型。
    • @HansUp 将它添加到你的,这样它就在一个地方。
    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多