access中利用VBA对菜单编程的方法
时 间:2007-10-18 21:32:15
作 者:竹笛 ID:8 城市:上海 QQ:2851379730
摘 要:ACCESS中利用VBA对菜单编程的方法
正 文:
补充:首先要引用 Microssoft Office 10.0 Object Library
在Windows中对菜单的分类主要的两种:
一般菜单栏
弹出式快捷菜单
(1)一般菜单栏的编程方法:
首先,说明在 ACESS中对菜单栏各部分的定义及命名:
菜单栏:是指我们要操作的整个菜单,在ACCESS 中菜单栏被定义为:CommandBar类型。
菜单栏中的弹出式控件:是指菜单栏中的每一个具体的弹出式菜单项,这里如“文件”“编辑”“视图”等都是菜单栏中的弹出式控件。在ACCESS中菜单栏的弹出式控件被定义为:CommandBarPopup类型。
菜单栏中的按钮控件:是指每个弹出式控件中具体的菜单项,如“格式”下的“单元格”“行”“列”等菜单项都是按钮控件。在ACCESS中菜单栏中的按钮控件被定义为:CommandBarButton类型。
范例:
该例子将实现自定义菜单“文件”和“帮助”,并在“文件”菜单下设计“保存”“打印”“退出”三项菜单,在“帮助”菜单下设计一“关于”菜单项。
Sub New_Menu()
'定义菜单变量
Dim NewMenuBar As CommandBar
Dim NewMenuBarPopup1, NewMenuBarPopup2 As CommandBarPopup
Dim NewMenuBarButton As CommandBarButton
DeleNewMenu '清除自定义菜单
'定义菜单栏
Set NewMenuBar = CommandBars.Add("MyMenu", msoBarTop, True)
'定义菜单栏中的弹出式控件
Set NewMenuBarPopup1 = NewMenuBar.Controls.Add(Type:=msoControlPopup)
Set NewMenuBarPopup2 = NewMenuBar.Controls.Add(Type:=msoControlPopup)
NewMenuBarPopup1.Caption = "文件(&F)"
NewMenuBarPopup2.Caption = "帮助(&H)"
' 定义菜单栏中的按钮控件
Set NewMenuBarButton = NewMenuBarPopup1.Controls.Add(msoControlButton)
NewMenuBarButton.Caption = "保存(&S)" '定义菜单项显示内容
NewMenuBarButton.FaceId = 3 '定义菜单项显示图标
NewMenuBarButton.OnAction = "MySave" '定义菜单项所执行的宏
Set NewMenuBarButton = NewMenuBarPopup1.Controls.Add(msoControlButton)
NewMenuBarButton.BeginGroup = True '显示菜单分隔线
NewMenuBarButton.Caption = "打印(&P)" '定义菜单项显示内容
NewMenuBarButton.FaceId = 4 '定义菜单项显示图标
NewMenuBarButton.OnAction = "MyPrint" '定义菜单项所执行的宏
Set NewMenuBarButton = NewMenuBarPopup1.Controls.Add(msoControlButton)
NewMenuBarButton.BeginGroup = True '显示菜单分隔线
NewMenuBarButton.Caption = "退出(&X)" '定义菜单项显示内容
NewMenuBarButton.FaceId = 0 '定义菜单项显示图标
NewMenuBarButton.OnAction = "MyExit" '定义菜单项所执行的宏
Set NewMenuBarButton = NewMenuBarPopup2.Controls.Add(msoControlButton)
NewMenuBarButton.Caption = "关于" '定义菜单项显示内容
NewMenuBarButton.FaceId = 49 '定义菜单项显示图标
NewMenuBarButton.OnAction = "MyAbout" '定义菜单项所执行的宏
NewMenuBar.Visible = True '将定义的菜单显示出来
End Sub
Sub MySave()
MsgBox "定义执行“保存”菜单项功能"
End Sub
Sub MyPrint()
MsgBox "定义执行“打印”菜单项功能"
End Sub
Sub MyExit()
MsgBox "定义执行“退出”菜单项功能"
End Sub
Sub MyAbout()
MsgBox "定义执行“关于”菜单项功能"
End Sub
Sub DeleNewMenu() '清除自定义菜单
On Error Resume Next
CommandBars("MyMenu").Delete
End Sub
Sub auto_close()
' 当工作簿关闭时将自动清除自定义菜单
DeleNewMenu
End Sub
(2)弹出式菜单的编程方法:
首先,说明在 ACCESS 中对弹出式菜单中各部分的定义及命名:
弹出式菜单:是指用鼠标右键弹出的整个菜单,在ACCESS中弹出式菜单被定义为:CommandBar类型。
弹出式菜单项:是指弹出式菜单中的每一个具体的弹出式菜单项,这里如“复制”“粘贴”等都是弹出式菜单项。在ACCESS 中弹出式菜单项被定义为:CommandBarButton类型。
范例:
该例子将实现在ACCESS系统的弹出式菜单中增加一个菜单项“我的快捷菜单”。
Sub NewMenuItem() ' 增加快捷菜单
'定义快捷菜单变量
Dim NewCellBar As CommandBar
Dim NewCellBarButtom As CommandBarButton
Set NewCellBar = CommandBars("Cell") '定义弹出式菜单
If NewCellBar.Controls.Item(1).Caption < > "我的快捷菜单" Then
Set NewCellBarButtom = NewCellBar.Controls.Add(Type:=msoControlButton, before:=1, temporary:=True)
NewCellBarButtom.
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)