EXCEL VBA应用教程----第12讲 菜单程序设计
第12讲 菜单程序设计
12.1 独立菜单的设计
1.建立菜单
在Thisworkbook 中输入建立菜单的程序。
Private Sub Workbook_Open()
On Error Resume Next '忽略错误
MenuBars("MyMenu").Delete '删除自定义选单
MenuBars.Add ("MyMenu")
Sheets("sheet1").Select
'增加第一个菜单选单项"项目初始"
MenuBars("MyMenu").Menus.Add Caption:="项目初始"
'以下在一级菜单下增加几个级连子菜单
MenuBars("MyMenu").Menus("项目初始").MenuItems.Add Caption:="变动项目初始化", OnAction:="变动项目初始化"
MenuBars("MyMenu").Menus("项目初始").MenuItems.Add Caption:="其他项目初始化", OnAction:="其他项目初始化"
MenuBars("MyMenu").Menus("项目初始vba做excel窗体录入教程").MenuItems.Add Caption:="退出", OnAction:="退出"
'增加第二个菜单选单项"工资计算"
MenuBars("MyMenu").Menus.Add Caption:="工资计算"
MenuBars("MyMenu").Menus("工资计算").MenuItems.Add Caption:="计算应发和实发工资", OnAction:="计算应发和实发工资"
MenuBars("MyMenu").Menus("工资计算").MenuItems.Add Caption:="部门汇总", OnAction:="部门汇总"
MenuBars("MyMenu").Menus("工资计算").MenuItems.Add Caption:="月度汇总", OnAction:="月度汇总"
'增加第三个菜单选单项"查询打印"
MenuBars("MyMenu").Menus.Add Caption:="查询打印"
MenuBars("MyMenu").Menus("查询打印").MenuItems.Add Caption:="查询工资表", OnAction:="查询工资表"
MenuBars("MyMenu").Menus("查询打印").MenuItems.Add Caption:="查询部门汇总表", OnAction:="查询部门汇总表"
'根据业务需要增加相应的菜单选项
'激活自定义选单
MenuBars("MyMenu").Activate
Application.Caption = "星月软件有限公司"
End Sub
本程序执行后,原来EXCEL的菜单已经不再显示出来。如果要启动VBE,可直接按Alt+F11。
2.子程序的编制
(1)退出
在“模块1”中输入如下程序。本模块程序的功能是删除已经建立的菜单,退出系统。
Private Sub 退出()
On Error Resume Next '忽略错误
Application.Caption = "excel"
MenuBars("MyMenu").Delete
Application.Quit
End Sub
12.2 在EXCEL上增加菜单的设计
在EXCEL已经有的菜单上增加菜单,也是常用的方式之一,这在EXCEL的基础上,可根据专用需要增加必要的功能。
在ThisWorkbook中增加如下程序:
Private Sub Workbook_Open()
Dim myCmd As Object, myCtr As Object
Application.CommandBars(1).Reset
Set myCmd = Application.CommandBars(1).Controls(2).Controls
'2代表EXCEL的第二个菜单"编辑"
With myCmd.Add(msoControlButton, , , , True)
.Caption = "显示窗口"
.OnAction = "FormShow"
' FormShow 表示选择该菜单后,执行FormShow 过程,此过程要放到模块中
End With
End Sub
在模块中增加如下子程序:
Sub FormShow()
UserForm1.Show
End Sub
这段程序的作用就是显示UserForm1用户窗口。
然后再增加一个用户窗口,用户窗口的名称是UserForm1。
执行结果,在EXCEL的“编辑”菜单的最后,显示一个“显示窗口”的功能。
选择“显示窗口”功能后,执行FormShow()子程序,执行具体的功能。
根据这种方法,可以根据需要在EXCEL中增加所需的功能,达到实现特殊功能的目的,也不影响EXCEL功能的应用。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论