VBA自定义菜单和菜单栏(三)-江羽
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


VBA自定义菜单和菜单栏(三)

发表时间:2009/9/4 12:09:06 评论(0) 浏览(10171)  评论 | 加入收藏 | 复制
   
摘 要:看前面说明
正 文:

六、命令

可以对命令进行的修改与控件的类型有关。一般来说,按钮要么被启用,要么被隐藏。而编辑框、下拉列表框和组合框较为灵活一些,因为您可以在列表中添加或删除项目。另外,还可以通过查看在列表中选中的项目的值来确定执行的操作。您可以将任何控件的操作更改为内置函数或自定义函数。

下表列出了最常见的控件属性和更改控件的状态、操作或内容的方法:

属性或方法

用途

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群(群号:198465573)
 
 相关文章
VBA自定义菜单和菜单栏(一)  【江羽  2009/9/3】
VBA自定义菜单和菜单栏(二)  【江羽  2009/9/4】
VBA自定义菜单和菜单栏(四)  【江羽  2009/9/4】
VBA自定义菜单和菜单栏(五)  【江羽  2009/9/5】
VBA自定义菜单和菜单栏(六)  【江羽  2009/9/5】
常见问答
技术分类
相关资源
文章搜索
关于作者

江羽

文章分类

文章存档

友情链接