VBA自定义菜单和菜单栏(三)
时 间:2009-09-04 12:09:06
作 者:江羽 ID:3967 城市:南昌
摘 要:看前面说明
正 文:
六、命令
可以对命令进行的修改与控件的类型有关。一般来说,按钮要么被启用,要么被隐藏。而编辑框、下拉列表框和组合框较为灵活一些,因为您可以在列表中添加或删除项目。另外,还可以通过查看在列表中选中的项目的值来确定执行的操作。您可以将任何控件的操作更改为内置函数或自定义函数。
下表列出了最常见的控件属性和更改控件的状态、操作或内容的方法:
属性或方法 |
用途 |
Add |
向命令栏添加命令。 |
AddItem |
向下拉列表框或组合框的下拉列表部分添加项目。 |
Style |
指定按钮上是显示图标还是显示标题。 |
OnAction |
指定用户更改控件值时所运行的过程。 |
Visible |
指定控件是可见的,还是隐藏的。 |
要了解有关 Excel 2003 和 Excel 2002 中菜单的更多信息,请按照下列步骤操作:
1. 启动 Visual Basic 脚本编辑器。
2. 在“帮助”菜单上,单击“Microsoft Visual Basic 帮助”。
3. 在“搜索帮助”框中,键入菜单,然后按 Enter。
4. 单击“添加和管理菜单栏和菜单项 (Office)”。
6.1向菜单控件添加分隔条
以下代码示例在“插入”菜单上的工作表命令之前添加分隔条:
Sub menuItem_AddSeparator()
CommandBars("Worksheet menu bar").Controls("插入(&I)") _
.Controls("工作表(&W)").BeginGroup = True
End Sub
注意:要删除分隔条,请将 BeginGroup 属性设置为 False。
6.2在菜单上创建自定义命令控件
以下代码示例在“工作表”菜单栏的“工具”菜单上创建名为 Custom1 的新命令,然后,当您单击“Custom1”时,它将运行 Code_Custom1 宏:
Sub menuItem_Create()
With CommandBars("Worksheet menu bar").Controls("工具(&T)")
.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Custom1"
.Controls("Custom1").OnAction = "Code_Custom1"
End With
End Sub
6.3在命令控件旁放置选中标记
以下代码示例在 Custom1 命令未选中的情况下在其旁边放置一个选中标记;如果 Custom1 命令已选中,则将删除该选中标记:
Sub menuItem_checkMark()
Dim myPopup as Object
Set myPopup = CommandBars("Worksheet menu bar").Controls("工具(&T)")
If myPopup.Controls("Custom1").State = msoButtonDown Then
' 删除选中标记旁边的菜单项。
myPopup.Controls("Custom1").State = msoButtonUp
MsgBox "Custom1 is now unchecked"
Else
'添加复选标记旁边的菜单项。
myPopup.Controls("Custom1").State = msoButtonDown
MsgBox "Custom1 is now checked"
End If
End Sub
6.4禁用命令栏上的命令控件
以下代码示例禁用您在“在菜单上创建自定义命令控件”一节中在“工具”菜单上创建的 Custom1 命令:
Sub MenuItem_Disable()
Dim myCmd as Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("工具(&T)")
myCmd.Controls("Custom1").Enabled = False
End Sub
6.5启用命令栏上的命令控件
以下代码示例启用您在“禁用命令栏上的命令控件”一节中禁用的 Custom1 命令:
Sub MenuItem_Enable()
Dim myCmd as Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("工具(&T)")
myCmd.Controls("Custom1").Enabled = True
End Sub
6.6删除菜单上的命令控件
以下代码示例删除“文件”菜单上的“保存”命令:
Sub menuItem_Delete()
Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("文件(&F)")
myCmd.Controls("保存(&S)").Delete
End Sub
6.7还原菜单上的内置命令控件
要还原菜单上的命令控件,必须知道该控件的标识 (ID) 号。要确定 ID 号,请参见“返回命令栏控件的 ID”一节。以下示例先删除您在“删除菜单上的命令控件”一节中删除的“保存”命令,然后又将其还原:
Sub menuItem_Restore()
Dim myCmd As Object
Set myCmd = CommandBars("Worksheet menu bar").Controls("文件(&F)")
' Id 3 为保存子菜单项ID号.
myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5
End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)