vba除了可以访问excel中的内置对象,还可以访问vbe对象。
vbe对象是vba中所有对象的根对象,通过vbe对象可以访问vba工程对象VBProject。
如果要顺利的访问vba工程对象需要进行如下的设置
开启“信任对VBA工程对象模型的访问”,如下图所示:
经过以上的设置后,就可以开始编写访问VBA工程对象的代码。
以下示例代码将会罗列当前工程中的所有模块的名称:
Sub QQ1722187970() Dim oWk As Worksheet Set oWk = ActiveSheet Dim i Dim obj As VBComponent For Each obj In Excel.ThisWorkbook.VBProject.VBComponents i = i + 1 oWk.Cells(i, 1) = obj.Name Next End Sub
如果想要在编写vba代码的过程中出现具体的vba工程对象的属性和方法的提示,还需要添加VBE库”Microsoft Visual Basic for Applications Extensibility 5.3″的引用,如下图所示:
或者用以下的vba代码自动添加:
Sub QQ1722187970() On Error Resume Next '添加VBIDE对象 ThisWorkbook.VBProject.References.AddFromGuid("{0002E157-0000-0000-C000-000000000046}", 5, 3) End Sub
通过上述的设置或者代码添加,就可以在编写vba代码的过程中直接将变量设置为具体的vba工程对象,然后就可以出现对应的对象的属性和方法的提示了。
发表评论