Sub 右键三级菜单()
On Error Resume Next '预防下面的删除菜单出错(当没有建立菜单的时候,没有菜单可删除就会出错)
Application.CommandBars("cell").Controls("我的右键").Delete '删除右键菜单,防止重复建立
'************************添加一级菜单
With Application.CommandBars("cell").Controls.Add(Type:=msoControlPopup, before:=1)
.Caption = "我的右键"
With .Controls.Add(Type:=msoControlPopup)
.Caption = "第一个一级菜单"
' 添加二级菜单第一个快捷菜单项
With .Controls.Add(Type:=msoControlButton)
.Caption = "二级菜单1" '标题
.FaceId = 71 '图标
.OnAction = "二级菜单1" '指定宏(或者说关联宏
End With
' 添加二级菜单第二个快捷菜单项
With .Controls.Add(Type:=msoControlButton)
.Caption = "二级菜单2"
.FaceId = 72
.OnAction = "二级菜单2"
End With
End With
' 添加一级菜单2
With .Controls.Add(Type:=msoControlButton)
.Caption = "第二个一级菜单"
.FaceId = 80
.OnAction = "第二个一级菜单"
.BeginGroup = True
End With
' 添加一级菜单3
With .Controls.Add(Type:=msoControlButton)
.Caption = "第三个一级菜单"
.FaceId = 81
.OnAction = "第三个一级菜单"
End With
'************************************
' 添加一级菜单4
With .Controls.Add(Type:=msoControlPopup)
.Caption = "第四个一级菜单"
' 第一个快捷菜单项
With .Controls.Add(Type:=msoControlButton)
.Caption = "二级菜单3"
.FaceId = 73
.OnAction = "二级菜单3"
End With
'添加第二个快捷菜单项
With .Controls.Add(Type:=msoControlButton)
.Caption = "二级菜单4"
.FaceId = 74
.OnAction = "二级菜单4"
End With
End With
'************************************
' 添加一级菜单5
With .Controls.Add(Type:=msoControlPopup)
.Caption = "第五个一级菜单"
' 第一个快捷菜单项
With .Controls.Add(Type:=msoControlButton)
.Caption = "二级菜单5"
.FaceId = 75
.OnAction = "二级菜单5"
End With
' 添加第二个快捷菜单项
With .Controls.Add(Type:=msoControlPopup)
.Caption = "二级菜单6"
' 添加三级菜单1
With .Controls.Add(Type:=msoControlButton)
.Caption = "三级菜单1"
.FaceId = 76
.OnAction = "三级菜单1"
End With
'添加三级菜单2
With .Controls.Add(Type:=msoControlButton)
.Caption = "三级菜单2"
.FaceId = 77
.OnAction = "三级菜单2"
End With
End With
End With
End With
End Sub
Sub 二级菜单1()
MsgBox "你按下了:二级菜单1"
End Sub
Sub 二级菜单2()
MsgBox "你按下了:二级菜单2"
End Sub
Sub 二级菜单3()
MsgBox "你按下了:二级菜单3"
End Sub
Sub 二级菜单4()
MsgBox "你按下了:二级菜单4"
End Sub
Sub 二级菜单5()
MsgBox "你按下了:二级菜单5"
End Sub
Sub 二级菜单6()
MsgBox "你按下了:二级菜单6"
End Sub
Sub 第二个一级菜单()
MsgBox "你按下了:第二个一级菜单"
End Sub
Sub 第三个一级菜单()
MsgBox "你按下了:第三个一级菜单"
End Sub
Sub 三级菜单1()
MsgBox "你按下了:三级菜单1"
End Sub
Sub 三级菜单2()
MsgBox "你按下了:三级菜单2"
End Sub
Sub DeleteTest() '删除右键菜单
On Error Resume Next
Application.CommandBars("cell").Controls("我的右键").Delete
End Sub
Sub 恢复右键()
Application.CommandBars("cell").Reset
End Sub