Word自定义右键菜单的VBA代码示例

本Word的VBA代码的功能简介:在右键文本菜单的中部位置(相当于右击文本时出现的菜单),添加一个自定义命令,并执行相应过程。

Private Sub Document_Close()

On Error Resume Next

Application.CommandBars("Text").Controls("Test").Delete ’恢复原有菜单

End Sub

Private Sub Document_Open()

Dim Half As Byte

On Error Resume Next

Dim NewButton As CommandBarButton

Application.CommandBars("Text").Controls("Test").Delete ‘预防性删除

Half = Int(Application.CommandBars("Text").Controls.Count / 2) ‘中间位置

Set NewButton = Application.CommandBars("Text").Controls.Add(Type:=msoControlButton, Before:=Half)

With NewButton

.Caption = "Test" ’命令名称

.FaceId = 100 ’命令的FaceId

.Visible = True ’可见

.OnAction = "MySub" ‘指定响应过程名

End With

End Sub

Sub MySub()

MsgBox "It’s A Test For CommandBars(""Text"")!", vbOKOnly + vbInformation

End Sub

Sub ComReset() ‘重新设置右键菜单,彻底恢复默认设置

Application.CommandBars("Text").Reset

End Sub

生成具有Commandbars(“Toolbar list”)或者当于CommandBars("View").Controls("工具栏(&T)")中的命令按钮形式:

Private Sub Document_Close()

On Error Resume Next

Application.CommandBars("Text").Controls("New Menu").Delete ’恢复原有菜单

End Sub

Private Sub Document_Open()

Dim i As Byte, Half As Byte, strName As String, NewButton As CommandBarPopup

Dim MenuAdd As CommandBarButton

On Error Resume Next

Application.CommandBars("Text").Controls("New Menu").Delete ‘预防性删除

Half = Int(Application.CommandBars("Text").Controls.Count / 2) ‘中间位置

Set NewButton = Application.CommandBars("Text").Controls.Add(Type:=msoControlPopup, Before:=Half)

With NewButton ’这是弹出式菜单即右边带有小三角型的

.Caption = "New Menu" ’命令名称

.Visible = True ‘可见

End With

For i = 1 To 4 ’新建四个子命令,批量生成

strName = "Menu" & i

Set MenuAdd = NewButton.Controls.Add(Type:=msoControlButton)

With MenuAdd

.Caption = strName

.OnAction = "MySub"

.State = msoButtonDown ‘带勾选的命令按钮

.Visible = True

End With

Next

End Sub

Sub MySub()

Dim ActionTag As String

ActionCap = CommandBars.ActionControl.Caption

MsgBox ActionCap

Select Case ActionTag

’以此来区分各个命令并执行指定过程

End Select

With Application.CommandBars("Text").Controls("New Menu")

If .Controls(ActionCap).State = msoButtonDown Then

MsgBox "It’s A Test!", vbOKOnly + vbInformation

.Controls(ActionCap).State = msoButtonUp

Else

.Controls(ActionCap).State = msoButtonDown

End If

End With

End Sub

Sub ComReset() ‘重新设置右键菜单,彻底恢复默认设置

Application.CommandBars("Text").Reset

End Sub

以下为禁用命令和快捷键的常用方式与保存路径,提倡使用修改WORD命令更方便。

Sub Example()

‘将自定义菜单栏工具栏或者自定义键盘的改变保存于活动文档中

Application.CustomizationContext = ActiveDocument

‘利用CommandBars(Name).Controls(Caption)来定位按钮,具有唯一性

Application.CommandBars("Standard").Controls("打开(&O)...").Enabled = False ‘TRUE

‘ 利用来定位按钮,不太直观,容易受调整后的命令位置干扰

Application.CommandBars("Standard").Controls(2).Enabled = True ‘False

‘利用Findcontrol(ID:=)来定位按钮,具有唯一性,并可循环,作用多个此按钮命令

Application.CommandBars.FindControl(ID:=23).Enabled = True ‘False

‘利用CommandBars(Index).Controls(Index)来定位按钮,直观,但受调整后的命令位置干扰

Application.CommandBars(1).Controls(2).Enabled = False ‘True

End Sub

Sub FileOpen() ‘可以将命令与快捷键一并禁用

MsgBox "这是修改WORD命令/打开文件"

End Sub

Sub Sample() ’将 CTRL+O快捷键重新分配或者修改并保存于当前文档中

CustomizationContext = ActiveDocument

KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyControl, wdKeyO), _

KeyCategory:=wdKeyCategoryMacro, Command:="NoFileOpen"

End Sub

Sub NoFileOpen()

MsgBox "This is only a test!"

End Sub

(0)

相关推荐

  • 如何自定义右键菜单设置

    自定义右键菜单设置对视频后理处理日益重要 操作方法 01 打开视频管理后台 02 自定义右键菜单设置 左侧功能列表的视频管理 - 点击播放器设置 - 右侧的播放器属性 - 点击修改已有播放器(或添加) ...

  • 扮酷你的Word右键菜单

    朋友,你见过如图1所示的Word右键菜单吗?与通常不同的是,去掉了一些不常用的命令,增加了许多常用的如"打开"."保存"."替换" 等Wor ...

  • 怎么美化和自定义Win7鼠标右键菜单背景?

    自定义右键菜单背景图片方法如下: 1、在魔方电脑大师的功能大全选项卡中,选择魔方美化大师。 2、在魔方美化大师中,在“系统外观设置”中选择“右键菜单背景”功能。如下图所示,直接点击打开右键菜单背景功能 ...

  • 电脑维护:[34]自添右键菜单

    使用鼠标右键点击桌面空白处,在弹出来的菜单中添加自定义菜单,不失为一种快捷调用程序的好方法.网友求助如何将QQ隐藏,又能快速调用,此法不错(菜单名称可以任意取). 批处理加载: 01 右键点击桌面空白 ...

  • QQ电脑管家右键菜单管理及文件保险柜

    右键菜单管理什么是右键菜单管理? 答:新增右键菜单管理,右键菜单随心定制。 支持自定义文件右键菜单和IE右键菜单,清除多余选项。点击各选项前的复选框(checkbox)即可自定义右键菜单所需选项。 文 ...

  • 腾讯电脑管家怎么管理右键菜单

    现在,电脑的使用越来越便捷,尤其是右键菜单,可以随心订制.腾讯电脑管家持自定义文件右键菜单和IE右键菜单,清除多余选项.点击各选项前的复选框(checkbox)即可自定义右键菜单所需选项.下面,就和小 ...

  • 腾讯电脑管家右键菜单管理有什么用

    新增右键菜单管理,右键菜单随心定制. 支持自定义文件右键菜单和IE右键菜单,清除多余选项.点击各选项前的复选框(checkbox)即可自定义右键菜单所需选项.

  • 解决Office2016右键菜单闪退,一闪消失没有了

    在Windows10系统环境下,安装Office 2016后,随便打开一个Excel或Word文档,在文档中点击右键,弹出功能菜单,还未看清楚菜单就消失了,再点击右键弹出右键菜单也是一闪退,一闪而过. ...

  • 将Word页面设置添加进右键菜单

    在平时使用Word编辑、打印文件时常会用到“页面设置”命令,最通常的操作方法是:执行“文件→页面设置”菜单命令。其实,我们完全可以将Word的“页面设置”命令放进Word右键菜单,这样可以给操作带来很 ...