代码之家  ›  专栏  ›  技术社区  ›  PowerUser

自定义vba函数中的intellisense功能?

  •  4
  • PowerUser  · 技术社区  · 15 年前

    在vba的标准ide中,intellisense内置于许多标准vba函数中。也就是说,msgbox()的buttons变量为您提供了一个选项列表,用于显示MessageBox。这样,开发人员不必每次使用函数时都记住或查找选项。

    我能为我的自定义vba函数实现同样的功能吗?这是一个粗略的例子,但是我能写一些像:

    Public Function DoSomething(X as string)(Options X="Opt1","Opt2") as variant
    ...

    当我调用这个函数时,我会得到一个弹出窗口,给出x作为opt1和opt2的选项

    1 回复  |  直到 15 年前
        1
  •  8
  •   Tim Lentine    15 年前

    您需要声明自己的枚举,然后将函数的参数定义为枚举类型。

    Public Enum eOptions
       Option1
       Option2
    End Enum
    
    public Function DoSomething(ByVal x as string, Byval MyOption as eOptions)
    

    当您调用函数ala时:

    Call DoSomething("myValue", Option2)
    

    您将看到函数的第二个参数可用的值为“option1”或“option2”。