gpt4 book ai didi

vba - 为什么 VBE.ActiveCodePane.CodeModule 在 VBE(代码窗口)未打开时不起作用?

转载 作者:行者123 更新时间:2023-12-03 20:15:57 27 4
gpt4 key购买 nike

创建一个运行以下代码的窗体。

MsgBox (VBE.ActiveCodePane.CodeModule)

并出现此消息。

enter image description here

现在保存、关闭并重新打开数据库,并看到以下消息:

运行时错误“91”:未设置对象变量或块变量

enter image description here

如果您打开 Visual Basic 编辑器,它会再次运行。即使您关闭 VBE,它仍会运行。

但是当您关闭整个应用程序并重新打开它时,让 VBE 关闭,您会收到错误消息。

为什么?这里发生了什么?

最佳答案

您引用事件 Pane 对象。在 Pane 被激活之前不会设置对象。所以在你打开 VBE 之前,对象还没有设置。关闭 VBE 后,对象仍然存在,因此您仍然可以引用它。

要在不打开 VBE 的情况下获取 ActiveCodepane 对象的句柄,可以激活 VBComponent,如下所示:

VBE.ActiveVBProject.VBComponents("Module1").Activate

您可以像这样激活任何 VBComponent。

关于vba - 为什么 VBE.ActiveCodePane.CodeModule 在 VBE(代码窗口)未打开时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32748946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com