现在,我非常确定,在VBA编辑器中进行编程的任何人都绝对喜欢智能感知,它如何帮助您更快地编写代码,以及如何帮助您记住该函数可接受的值。
对于不熟悉Intellisense是什么的人:Intellisense是一项功能,可检测您正在键入的内容并建议自动完成,并列出参数的数量和类型以及它们是否为可选参数并具有默认值。
我认为我们大多数人可能都熟悉的示例是msgbox。 例如,如果您开始输入
在您的代码中的msgbox或直接窗格中,您将看到以下内容:
该示例显示您当前正在处理
msgbox函数的Promt参数。 如果您熟悉显示内容,将会看到Promt不是可选的,但是其余参数是(由于它们括在方括号[]中。您还将看到下一个参数的类型为vbMsgBoxStyle,并且具有默认值值vbOkOnly。如果您输入“,”,您将继续工作/编写下一个参数
按钮 。 几乎整齐地,VBA编辑器将显示可接受值的下拉列表,如下所示:
如果您开始输入,编辑器将突出显示与您已经输入的内容相匹配的第一个可接受的选项。
创建自己的智能感知:现在,如果您编写一个简单的函数,您仍然会看到在上述msgbox示例的第一个示例中看到的大多数信息。 但是,如果您还想为编码器(或您自己)提供可接受值的列表,您甚至可以这样做。
首先,我们需要创建一个枚举,在单独的模块中执行:
Public Enum cmDisplayImage
cmNoImage = 0
cmCritical = 16
cmExclamation = 48
cmInformation = 64
End Enum
信息:提供的示例是我在自定义消息框上工作,因此我为枚举和常量添加了“自定义消息框”的cm前缀。
然后,当我编写函数时,将参数类型指定为cmDisplayImage,如下所示:
Public Function CustomMessageBox(strCaption As String, Optional cmImage As cmDisplayImage = cmNoImage) As Integer
我已指定第二个参数应为cmDisplayImage类型,并且其默认值是无图像。
当我使用它时,它看起来像这样:

如有任何疑问,请随时提出。 如果您对本文的实际文本有疑问,请在此处发布/回复。 如果您对自己实现它有疑问,建议您另外提出一个新问题,并链接到本文。
From: https://bytes.com/topic/access/insights/931188-expand-intellisense-your-custom-function
本文介绍如何在VBA中利用智能感知(Intellisense)功能提高编程效率,通过创建自定义函数和枚举来增强代码提示,包括参数类型、数量、默认值及可接受值列表。

被折叠的 条评论
为什么被折叠?



