-->

我怎样才能把空间在我的VBA项目名称?(How can I put spaces in my VBA

2019-10-16 17:49发布

我有一个Excel插件我在写VBA,姑且称之为MyAddin.xlam
我已经将项目名称设置为MyAddin

当我打开第二个项目,然后选择Tools->References... ,MyAddIn出现就好了。 一切正常。 那很棒。

但是。对于纯粹的审美原因,我想上市,以显示为My Addin中引用的列表。 在潜在的参考文献列表中可用几乎所有在名称中包含空格。
但是,如果我尝试重命名我的项目有在名称中有空格,VBA不允许我这样做。

所以,作为愚蠢的问题可能听起来,有什么办法可以让空间变成我的VBA的显示名称附加在“参考”名单?

我完全愿意接受的答案:“这是不可能的VBA,你只能把空间中的引用名称,如果你建立了外接用另一种语言”,但我想知道如果我失去了一些东西简单。

谢谢!

编辑,编:基本上,我的问题是:有没有办法让“显示名称”是从项目的名称,它不关心文件命名/对象命名限制不同?

Answer 1:

是啊,你是对的。 VBA不会让你在属性窗口中插入项目名称空间。

如果您尝试,它会给你一个错误(见快照)

很好用VB.net没有运气也是如此。 我加入了空间,而且它转换为Excel中的下划线。 让我更多的测试,并尽快给您...

快照

跟进

呼终于来了! 是的,它有可能在VB.Net。 让我知道如果你想了解更多的细节?



Answer 2:

因为它出现在加载项窗口中编辑您可以更改显示名称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实际上是更宽容的,如果你能编辑的项目二进制文件。



文章来源: How can I put spaces in my VBA project name?