什么是VBAProject关键字?

时间:2019-10-01 15:20:16

标签: excel vba keyword dynamic-library vbe

Object Browser窗口中,有一个正在使用的库的列表。

默认情况下:

  • Excel (Microsoft Excel 版本对象库)
  • Office (Microsoft Office 版本对象库)
  • stdole (OLE自动化)
  • VBA (用于应用程序的Visual Basic)
  • VBAProject

除了VBAProject之外,还可以通过使用VBIDE库(Microsoft Visual Basic for Applications Extensibility 版本)循环VBProject的引用来找到它们。

VBAProject是一个库,一个特殊关键字还是其他?找不到任何文档。

我想它也是VBA库的一部分,但它似乎没有出现在参考文献中。

Dim ref As VBIDE.Reference

For Each ref In Application.VBE.VBProjects(1).References
  MsgBox ref.Name & " - " & ref.Description
Next

VBAProject具有工作簿和工作表的代号。

我也无法删除manuallywith code Excel和VBA库来测试VBAProject是否会消失(Office和stdole可移动)。

1 个答案:

答案 0 :(得分:5)

这不是关键字,它是代表您的VBA项目的COM类型库的标识符。

在编译VBA项目时,会在内部创建一个COM类型库-对象浏览器只是列出了当前在编辑器中加载的所有类型库,其中包括您自己项目的库。

这就是为什么它列出所有文档模块的“代码名称”的原因-如果添加了标准模块,它也会在那里:

object browser showing classes in VBAProject

如果您重命名项目(recommended,尤其是对于任何Excel外接程序项目),那么它就不再是VBAProject

members of MyAwesomeProject


#FunFacts::当VBE首次初始化并创建新的VBA项目时,它被称为VBProject几毫秒(VB6默认项目名称)-然后VBE将其重命名为VBAProject ...这曾经导致Rubberduck出现问题!