在鼠标右键单击事件中添加自定义菜单选项

时间:2014-12-13 11:27:45

标签: vba ms-word mouseevent word-vba

当在文档中选择一些单词并右键单击时,应调用宏函数。或者类似,应该添加自定义右键菜单选项,当我单击该菜单选项时,应该调用宏。

例如:

在文档中我有四位数字,如2001年和2010年。当我选择四位数字并点击右键并按我的自定义菜单选项时,应调用宏并选择四位数字。应该解析为被调用的宏函数。

我得到了一些代码,但是对于Excel,我不知道如何为Microsoft Word自定义它。

excel代码:

Const strMacro = "YourCode"

Sub CreateMacro()
   Dim cBut
   Call KillMacro
   Set cBut = Application.CommandBars("Cell").Controls.Add(Temporary:=True)
   With cBut
       .Caption = strMacro
       .Style = msoButtonCaption
       .OnAction = "Test_Macro"
   End With
End Sub

Sub Test_Macro()
   MsgBox "I work"
End Sub

Sub KillMacro()
   On Error Resume Next
   Application.CommandBars("Cell").Controls(strMacro).Delete
End Sub

1 个答案:

答案 0 :(得分:0)

对于Microsoft Word 2007,我已粘贴宏代码,在右键单击鼠标事件中添加自定义菜单选项,并将所选文本添加到函数中。

宏:

Option Explicit
Sub CreateMacro()
    Dim MenuButton As CommandBarButton
    With CommandBars("Text")
        Set MenuButton = .Controls.Add(msoControlButton)
        With MenuButton
            .Caption = "Press Me"
            .Style = msoButtonCaption
            .OnAction = "Test_Macro"
        End With
    End With
End Sub

Sub Test_Macro()
    MsgBox Selection.text
End Sub

Sub ResetRightClick()
    Application.CommandBars("Text").Reset
End Sub