VBA自定义菜单和菜单栏(五)
时 间:2009-09-05 00:00:00
作 者:江羽 ID:3967 城市:南昌
摘 要:接前面一章
正 文:
八、快捷菜单栏
快捷菜单是在用户右键单击某个对象时出现的浮动命令栏。快捷菜单栏可以包含与命令栏相同的控件类型,而这些控件的作用也和命令栏上控件的作用相同。在大多数程序中,您无法从程序界面创建或修改快捷菜单,因而必须在运行时创建和修改快捷菜单。
要获取有关Excel 2002和Excel 2003中的快捷菜单的更多信息,请按照下列步骤操作:
1. 启动 Visual Basic 脚本编辑器。
2. 在“帮助”菜单上,单击“Microsoft Visual Basic 帮助”。
3. 在“搜索帮助”框中,键入快捷方式,然后按 Enter。
4. 单击“添加和显示快捷菜单”。
8.1新建快捷菜单栏
以下代码示例创建名为“myShortcutBar”的快捷菜单栏:
Sub Shortcut_Create()
Dim myShtCtBar as Object
Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _
Position:=msoBarPopup)
' 这显示快捷菜单栏。
' 200, 200指的是屏幕上的位置的像素为X和Y坐标.
myShtCtBar.ShowPopup 200,200
End Sub
注意:由于没有添加任何控件(菜单项或子菜单),因此快捷菜单栏出现时是空的。
九、快捷菜单
当您右键单击特定的 Excel 对象时会出现快捷菜单栏。Excel 有很多快捷菜单栏,其中包含各种菜单。您还可以创建自定义快捷菜单栏和自定义内置菜单栏。
9.1在快捷菜单栏上创建命令
以下代码示例在“myShortcutBar”快捷菜单栏上创建名为 Item1 的新菜单命令。当您单击“Item1”时,它将运行 Code_Item1 宏:
Sub Shortcut_AddItem()
Dim myBar as Object
Set myBar = CommandBars("myShortcutBar")
With myBar
.Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1"
.Controls("Item1").OnAction = "Code_Item1"
End With
myBar.ShowPopup 200,200
End Sub
9.2禁用快捷菜单栏上的命令控件
以下代码示例禁用您在“创建快捷菜单上的命令”一节中创建的 Item1 命令:
Sub Shortcut_DisableItem()
Set myBar = CommandBars("myShortcutBar")
myBar.Controls("Item1").Enabled = False
myBar.ShowPopup 200,200
End Sub
注意:要启用已禁用的项目,请将 Enabled 属性设置为 True。
9.3删除快捷菜单栏上的命令
以下代码示例删除“myShortcutBar”快捷菜单栏上的名为 Item1 的菜单命令:
Sub Shortcut_DeleteItem()
Set myBar = CommandBars("myShortcutBar")
myBar.Controls("Item1").Delete
myBar.ShowPopup 200,200
End Sub
9.4删除快捷菜单栏
删除快捷菜单栏将导致删除所有菜单项。您无法还原已删除的自定义菜单栏。要还原它,必须重新创建该菜单栏及其所有菜单项和子菜单。
以下代码示例删除您在“在快捷菜单栏上创建命令”一节中创建的“myShortCutBar”快捷菜单栏:
Sub Shortcut_DeleteShortCutBar()
CommandBars("MyShortCutBar").Delete
End Sub
9.5还原内置快捷菜单栏上的命令
以下代码示例还原工作表“单元格”快捷菜单栏上的默认命令:
Sub Shortcut_RestoreItem()
CommandBars("Cell").Reset
End Sub
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)