我想通过 Word 2007 中的 VBA 宏以编程方式显示右键单击上下文菜单。
这将允许我将宏映射到热键并在不离开键盘的情况下显示具有焦点的菜单。我假设这将通过Application
对象的CommandBars
集合来完成,按照以下方式访问:
Application.CommandBars.'access appropriate mehod or member here'
但我没有看到任何似乎会显示上下文菜单的方法或成员。是否可以通过 VBA 宏来实现这一点?
编辑:
正如建议的那样,我遍历每个 CommandBar 并获取名称和索引以尝试找出要使用的 CommandBar 索引:
Sub C_RightClick()
'Activates right-click context menu
'
Dim cbar As Office.CommandBar
Dim cbarIndex As Integer
Dim testString As String
Dim cBarsArray(0 To 500)
Dim arrayCounter As Integer
testString = ""
arrayCounter = 1
For Each cbar In CommandBars
'TRUE if right-click
'If LCase(cbar.Name) = 'right-click' Then
' cbarIndex = cbar.Index
'End If
testString = testString + CStr(cbar.Index) + " " + cbar.Name + " " + CStr(cbar.Type = msoBarTypePopup) + vbCrLf
Debug.Print cbar.Name; " "; cbar.Type = msoBarTypePopup
'Add name to array and increment counter
cBarsArray(arrayCounter) = cbar.Name
arrayCounter = arrayCounter + 1
Next cbar
MsgBox testString
'Application.CommandBars(cbarIndex).ShowPopup
End Sub
但是,我没有看到任何标题为“右键单击”的内容。我认为它可能是 'Standard' ,其索引为 1,但当我尝试访问它时收到错误消息。
如果有人知道选择选项卡时出现在 Word 2007 中的默认右键单击上下文菜单的正确名称Home
,我们将不胜感激。否则,我会将这个问题提交给 SuperUser 并自行研究。感谢您的帮助。