8 excel alias vba function excel-vba
我正在编写一个简单的函数,例如:
Function myFunction() As Variant
'Some rules
End Function
Run Code Online (Sandbox Code Playgroud)
对于上面的函数,是否可以像API调用那样分配Alias?
显然这不是正确的语法,但你明白了:
Function myFunction() Alias myFunc As Variant
'Some rules
End Function
Run Code Online (Sandbox Code Playgroud)
这将允许我使用任一名称:
Sub Test()
Debug.Print myFunction
Debug.Print myFunc
End Sub
Run Code Online (Sandbox Code Playgroud)
ash*_*awg 23
我不明白为什么你需要为VBA函数提供VBA别名.
API别名用于引用DLL中的函数或其他对象,如果它的"给定名称"不能在需要它的模块中使用.
别名 - 表示正在调用的过程在DLL中具有另一个名称.当外部过程名称与关键字相同时,这很有用.当DLL过程与公共变量,常量或同一范围内的任何其他过程具有相同的名称时,也可以使用别名.如果DLL命名约定不允许DLL过程名称中的任何字符,则别名也很有用.(来源)
...但要回答您的问题,请确保您可以为函数创建备用名称,只需对代码稍作修改即可:
你的功能:
Run Code Online (Sandbox Code Playgroud)Function myFunction() As Variant 'Some rules End Function
分配备用名称:
Run Code Online (Sandbox Code Playgroud)Function myFunc() As Variant myFunc = myFunction End Function
这将允许您使用任一名称:
Run Code Online (Sandbox Code Playgroud)Sub Test() Debug.Print myFunction Debug.Print myFunc End Sub
(当我说我不明白为什么你需要这样做时,我以为你没有像我这样的记忆! 现在我理解你的推理,给同一个函数赋予多个名字!)
什么,你有没有记住所有自定义VBA函数的名称和语法,除了1000的内置函数,过程和对象,以及看似无限的属性,方法和类名列表?
我也不.
在VBA中编码时有助于触发我的内存的功能是 属性/方法列表.
开始键入函数或过程的名称并按Ctrl+J,您将获得自定义和内置函数,方法,过程等的列表.**
我注意到你的样本函数名称都以" my" 开头.这可能只是为了说明的目的,但是,像这样的特定命名约定也可以通过在"属性/方法"对话框中将函数分组在一起.
您还可以向UDF(用户定义函数)添加描述,这将在工作表上输入函数名称时显示:
在Excel中为用户定义的函数添加描述(不含VBA)
寻求Excel自定义函数工具提示(C#)
把它更进一步比的描述中,注册的用户定义函数不仅允许一个描述的创建功能,但是关于每个的详细也信息函数的参数和它们的数据类型; 您甚至可以指定快捷键,添加自定义" 帮助 "文件/页面的链接,甚至为UDF 分配类别.
这些扩展属性显示在Insert Function对话框中,单击可访问
按公式栏左侧的按钮,或按Shift+ F3:
Excel没有用于编辑参数描述的内置界面,因此需要VBA.相关文档很难找到.
有关注册用户定义函数的代码和信息 - :
我没有尝试过这个,但我可以看到它是如何非常方便的,特别是因为它可以很容易进一步定制,可能还有项目特定的功能列表和其他信息.
可以在功能区中添加一个按钮,单击该按钮会显示VBA过程/功能列表,使用XML和VBA从按钮显示用户表单.还可以选择将过程列表保存到文本文件中.
您可以从"开发人员"选项卡上的"宏"按钮查看工作簿中的过程.但是,"宏"对话框中仅显示模块和工作表中的无参数子例程.带参数的函数和子程序不会显示.此列中描述的代码显示工作簿中的所有子例程和函数.
通过以编程方式操作VBA编辑器(VBE),您可以在VBA中编写读取或修改其他VBA项目,模块和过程的代码,并可用于自动执行与开发相关的任务.这称为可扩展性,因为它扩展了编辑器 - 您可以使用VBA代码创建新的VBA代码.您可以使用这些功能编写用于创建,更改或删除VBA模块和代码过程的自定义过程.
令人惊奇的芯片皮尔逊做了一遍,有详细的说明和提供完整的代码在这里的一些有趣的事情扩展能为你做.
Chip页面上的部分代码列表(在此处):
这些方法使用VBA可扩展性 [库](http://www.exceltoolset.com/setting-a-reference-to-the-vba-extensibility-library-by-code/)(参考),并要求以编程方式访问VBA项目,这是Excel选项中的安全设置.有关详细信息,请参阅Chip的页面.
Chip的页面上也提供了有关VBA定制菜单的优秀信息和代码,这可能有助于简化开发人员自己的工作.
如果控制甚至拦截内置命令的功能,VBA看似"被遗忘"的能力.这也可以用来造福于开发者(尤其是一个贫穷的记忆!)...更多信息和示例,从微软在这里.
| 归档时间: |
|
| 查看次数: |
1215 次 |
| 最近记录: |