以编程方式列出VBA中的已检查项目引用?

时间:2016-06-10 15:58:03

标签: vba dependencies ms-office

是否可以在VBA中获取包含的项目引用列表?

我希望能够将它们写入文件或文本,并将它们与另一组进行比较。

1 个答案:

答案 0 :(得分:0)

引用VBIDE API并授权VBA以编程方式访问该API(在宏安全设置中有一个复选框) - 请注意,此API允许您编写VBA代码,该代码可以更改此或任何其他VBA项目中的代码VBE。

您需要访问您感兴趣的VBProject对象,然后迭代其References

Dim myProject As VBProject
Set myProject = Application.VBE.ActiveVBProject

Dim library As Reference
For Each library In myProject.References
    Debug.Print library.Name
Next

这将包括VBA标准库,stdole,您所在的主机应用程序的对象模型,MSForms(如果您的项目具有UserForm个对象,以及您的项目可能引用的任何其他COM库。如果项目引用其他VBA项目,它们也会在那里;您可以通过验证引用是否具有Guid(只有已注册的COM类型库具有GUID)来从COM类型库中告知引用的VBA项目。