【问题标题】:Does Excel VBA object model allows for access to keyboard shortcut to VBA IDE menu items?Excel VBA 对象模型是否允许访问 VBA IDE 菜单项的键盘快捷键?
【发布时间】:2014-09-10 13:28:20
【问题描述】:

Excel VBA 对象模型是否允许访问 VBA IDE 菜单项的键盘快捷键? (我想在菜单中创建额外的项目并将其与选择的快捷方式连接)

例如下面的代码返回“C&lear”,这意味着当 VBE IDE 中的“编辑”组处于活动状态时,您可以通过键入“l”访问“清除”项,但您也可以通过键入“删除”访问“清除”项单独的按钮:

Debug.Print Application.VBE.CommandBars(1).Controls(2).Controls(6).Caption

有没有办法在 IDE 菜单中找到实用的直接快捷方式(在上面的例子中是“删除”)?我想用新的自定义快捷方式将项目添加到 VBA IDE 菜单?

Debug.Print Application.VBE.CommandBars(1).Controls(3).Controls(6).Caption

返回“&Immediate Window”,但您也可以通过直接快捷键“Ctrl+G”访问 Immediate Window

【问题讨论】:

标签: vba excel


【解决方案1】:

有没有办法在 IDE 菜单中找到实用的直接快捷方式(在上面的例子中是“删除”)

是的,有。试试这个

Debug.Print Application.VBE.CommandBars(1).Controls(2).Controls(6).ShortcutText

这会给你Del

来自 cmets 的跟进:

【讨论】:

  • 太棒了,在“Application.VBE.CommandBars(1).Controls(2).Controls(6)”中。声明自动列出成员菜单不弹出
  • 如果您在谈论 Intellisense,请查看更新后的帖子。有办法把它拉起来;)你可能需要刷新页面
  • @Qbik:如果你 Dim 正确,自动完成就会出现。
【解决方案2】:
Dim b As CommandBarButton
Set b = Application.VBE.CommandBars(1).Controls(2).Controls(6)
Debug.Print b.TooltipText

返回:

C&lear (Del)

同样,

Set b = Application.VBE.CommandBars(1).Controls(2).Controls(6)
Debug.Print b.TooltipText

返回

Export (Ctrl+E)

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2017-08-09
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多