在菜单指定位置添加菜单
技巧1
在菜单栏指定位置添加菜单
除了可以在工作表菜单中添加菜单项外,还可以在工作表菜单栏的指定位置添加菜单,如下面的代码所示。
Sub AddNewMen u()
Dim HelpMenu As CommandBa rControl
Dim NewMenu As CommandBa rPopup With Applicati https://www.360docs.net/doc/6b15672977.html,man dBars("Wo rksheet menu bar")
.Reset
Set HelpMenu =
.FindCont rol(ID:=. Controls( "帮助(&H)").ID )
If HelpMenu Is
Nothing Then
Set NewMenu= .Controls .Add(Type :=msoCont rolPopup)
Else
Set NewMenu= .Controls .Add(Type :=msoCont rolPopup, _
Before:=H elpMenu.I ndex)
End If With NewMenu
.Caption ="统计(&S)"
With
.Controls .Add(Type :=msoCont rolButton )
.Caption ="输入数据(&D)"
.FaceId= 162
.OnAction = ""
End With
With
.Controls .Add(Type :=msoCont rolButton )
.Caption ="汇总数据(&T)"
.FaceId= 590
.OnAction = ""
End With
End With
End With
Set HelpMenu = Nothing
Set NewMenu= Nothing
End Sub 代码解析:AddNewM enu过程使用Add方法在工作表“帮助”菜单前添加一个标题为“统计”的菜单和两个菜单项。
第6行代码,使用FindContr ol方法在工作表菜单栏中查找“帮助”菜单。应用于Command Bars对象的FindContr ol方法返回一个符合指定条件的Command BarControl 对象。语法如下:
expressio n.FindCon trol(Type ,Id, Tag, Visible, Recursive )
参数expressio n是必需的,返回一个Command Bars对象。
参数Type 是可选的,要查找控件的类型。
参数Id是可选的,要查找控件的标识符。
参数Tag是可选的,要查找控件的标记值。
Visible是可选,如果该值为True,那么只查找屏幕上显示的命令栏控件。默认值为False。
参数Recursive 是可选的,如果该值为True,那么将在命令栏及其全部弹出式子工具栏中查找。此参数仅应用于Command Bar对象。默认值为False。
如果没有控件符合搜索条件,那么FindContr ol方法返回Nothing。第7行到第12行代码,如果工作表菜单栏中存在“帮助”菜单,将“统计”菜单添加到“帮助”菜单之前,否则添加到工作表菜单栏末尾。
第25行代
码,在“
统计”菜
单中添加
两个子菜
单并设置
其各种属
性。
运行
AddNewM
enu过程,
将在工作
表菜单栏
的“帮助
”菜单之
前添加一
个“统计
”菜单,
如图80?1
所示。
图 80?1作表菜单栏中添加菜单