自动显示IDE当工作簿被打开时

6

我想在Excel启动时自动显示IDE。

是否有一种方法模拟单击“功能区”中的“Visual Basic编辑器”图标?我查看了Application.CommandBars,但没有关于功能区的信息。

Private Sub Workbook_Open()
    ' Display Visual Basic Editor
End Sub

1
对于快速脏代码(假设您不介意进入调试模式),“Stop”是有效的。 - Comintern
2个回答

8
Commandbars对象有一个ExecuteMso方法,可以让您“推送”任何功能区按钮,因此:
Application.CommandBars.ExecuteMso ("VisualBasic")

如Comintern所指出的,在Workbook_Open事件中使用此代码时,需要添加Application限定词,否则会出现错误91。
要找到mso,请进入快速访问工具栏的功能区菜单,找到您想要的内容并悬停: enter image description here

+1 表示不需要编程访问。请注意,CommandBars.ExecuteMso 需要使用 Application. 进行限定。 - Comintern
谢谢@Comintern。我不必进行限定,但通常我是一个冗长的编码人员(当没有赶SO时钟时),所以我会补充一下。 - Doug Glancy
1
很奇怪。当它没有限定时,会给我一个91错误(Excel 2013 x32)。我想知道如果在“Workbook_Open()”中调用时,工作簿是否及时准备好了。 - Comintern
@Comintern,你说得太对了。当我真正做那些繁琐的工作,将它塞进Workbookj_Open中,保存并重新打开时,如果没有Application bit,它就会失败。谢谢! - Doug Glancy
1
@Doug Glancy,谢谢,这正是我在寻找的。 - michael
1
这不是一个函数,所以你可以去掉那些括号。这样就会得到 Application.CommandBars.ExecuteMso "VisualBasic"。现在它们只是告诉 VBA “先评估这一部分”,而这并不是你需要的。 - Greedo

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接