乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > 右键新建没有word-「懒惰工作」EXCEL创建右键自定义菜单(VBA)

右键新建没有word-「懒惰工作」EXCEL创建右键自定义菜单(VBA)

作者:乔山办公网日期:

返回目录:word文档

有时自己写的VBA功能,启用时通过宏总感觉不是很方便,能不能把自定义功能添加在右键上呢?


答案是肯定的,先看效果图:



红色框内的就是右键自定义功能


来看代码:


这段必须写在ThisWorkbook模块下,workbook的open事件中


下面是VBA代码:


Private Sub Workbook_Open()


'Function:自定义右键快捷菜单


'Author:流沙莫小虫


'Date:2017/1/4


Dim cmp As CommandBarPopup '定义一个弹出式控件


Application.CommandBars("Cell").Reset '单元格菜单重置


Set cmp = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)


'添加右键菜单,增加位置第一个


With cmp


.Caption = "自定义右键菜单" '菜单命名


'下面添加子菜单


With .Controls.Add(Type:=msoControlButton, before:=1)


.Caption = "功能1" '子菜单名称


.FaceId = 39


.OnAction = "function1" 'function1是你自定义的功能名称


End With


With .Controls.Add(Type:=msoControlButton, before:=2)


.Caption = "功能2"


.FaceId = 39


.OnAction = "function2"


End With


With .Controls.Add(Type:=msoControlButton, before:=3)


.Caption = "功能3"


.FaceId = 39


.OnAction = "function3"


End With


End With


Set cmp = Nothing


End Sub


链接:


使用 CommandBarPopup对象


用 Controls(index) 可返回一个 CommandBarPopup对象;此处 index 是该控件的索引号。该控件的Type属性必须是 msoControlPopup、msoControlGraphicPopup、msoControlButtonPopup、msoControlSplitButtonPopup 或 msoControlSplitButtonMRUPopup。


补充:


.FaceId是EXCEL内置图标,如下图中的红色框内的图标。



.FaceId=39就是这种箭头图标



EXCEL内置图标集合


相关阅读

关键词不能为空
极力推荐
  • word页面设置-Word排版操作第一步——页面设置

  • 杨清风给心仪的妮雅讲了两次课,时间短只讲了Word导航、样式以及样式应该设置成什么样,但并未讲如何设置,也算是留个门儿,以后妮雅还会找他,可事情并没有向想象的方向发展。

ppt怎么做_excel表格制作_office365_word文档_365办公网