我有一个Excel插件我在写VBA,姑且称之为MyAddin.xlam
。
我已经将项目名称设置为MyAddin
。
当我打开第二个项目,然后选择Tools->References...
,MyAddIn出现就好了。 一切正常。 那很棒。
但是。对于纯粹的审美原因,我想上市,以显示为My Addin
中引用的列表。 在潜在的参考文献列表中可用几乎所有在名称中包含空格。
但是,如果我尝试重命名我的项目有在名称中有空格,VBA不允许我这样做。
所以,作为愚蠢的问题可能听起来,有什么办法可以让空间变成我的VBA的显示名称附加在“参考”名单?
我完全愿意接受的答案:“这是不可能的VBA,你只能把空间中的引用名称,如果你建立了外接用另一种语言”,但我想知道如果我失去了一些东西简单。
谢谢!
编辑,编:基本上,我的问题是:有没有办法让“显示名称”是从项目的名称,它不关心文件命名/对象命名限制不同?
是啊,你是对的。 VBA不会让你在属性窗口中插入项目名称空间。
如果您尝试,它会给你一个错误(见快照)
很好用VB.net没有运气也是如此。 我加入了空间,而且它转换为Excel中的下划线。 让我更多的测试,并尽快给您...
快照
跟进
呼终于来了! 是的,它有可能在VB.Net。 让我知道如果你想了解更多的细节?
因为它出现在加载项窗口中编辑您可以更改显示名称Title
内置文档属性,但它不能帮助你在引用窗口的名称
该VBE不会让你在模块名的项目名称中使用非法字符,但这并不意味着它不能做。
例如,分析工具库- VBA加载ATPVBAEN.XLAM
拥有的项目名称atpvbaen.xls
其中包括所谓非法字符.
同样,在同一个项目有一个名为模块VBA Functions and Subs
,其中包括非法
(空间)字符。
但在分析工具库的公开程序仍然可以用方括号调用。
Sub test()
'Run the auto_open macro in Analysis Toolpak
[atpvbaen.xls].[VBA Functions and Subs].auto_open
End Sub
因此,微软知道如何在项目和模块名,这大概是在二进制或VBE的特别打造完成使用非法字符。
编辑
我只是编辑的VBA项目的二进制文件,并能够把空间VBA项目的名字!
有趣的是,你不能导出,然后重新导入从分析工具库中的模块,VBE仍然强制对进口的命名规则。 祝你好运越来越具有源控制工作。
编辑:2017年2月3日从VBA文件格式规格:[MS-OVBA]
[模块名] 应是一个标识符... 也可以是文字的任何字符串... 必须小于或等于长31个字符。
[项目名] 应是一个标识符... 也可以是文字的任何字符串... 必须小于或等于长128个字符。
因此,它似乎是VBE的气势应该统治,但VBA实际上是更宽容的,如果你能编辑的项目二进制文件。