VBAProject 关键字是什么?

What's the VBAProject keyword?

Object Browser window 中有一个正在使用的库列表。

默认附带:

也可以通过使用 VBIDE 库(Microsoft Visual Basic for Applications Extensibility version)循环引用 VBProject 来找到它们,VBAProject 除外。

VBAProject 是库、特殊关键字还是其他?找不到关于它的任何文档。

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

Dim ref As VBIDE.Reference

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

VBA项目有工作簿和工作表的代号。

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

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

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

这就是它列出所有文档模块的 "code names" 的原因 - 如果您添加了标准模块,它也会在那里:

如果您重命名您的项目(recommended,尤其是任何 Excel 加载项项目),那么它就不再是 VBAProject:


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