PBe*_*ezy 4 ms-access vba access-vba
创建一个运行以下代码的表单。
MsgBox (VBE.ActiveCodePane.CodeModule)
Run Code Online (Sandbox Code Playgroud)
并出现此消息。
现在保存,关闭并重新打开数据库,然后看到以下消息:
运行时错误“ 91”:未设置对象变量或带块变量
如果您打开Visual Basic编辑器,它将再次运行。即使您关闭VBE,它仍然会运行。
但是,当您关闭整个应用程序并重新打开它,而使VBE关闭时,您会收到错误消息。
为什么?这里发生了什么?
小智 5
您引用活动窗格对象。在激活窗格之前,不会设置对象。因此,在打开VBE之前,尚未设置对象。关闭VBE之后,该对象仍然存在,因此您仍然可以引用它。
在不打开VBE的情况下获取ActiveCodepane对象的句柄是通过激活VBComponent,如下所示:
VBE.ActiveVBProject.VBComponents("Module1").Activate
Run Code Online (Sandbox Code Playgroud)
您可以像这样激活任何VBComponent。