是否可以在VBA中获取包含的项目引用列表?
我希望能够将它们写入文件或文本,并将它们与另一组进行比较。
答案 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项目。