会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 宏/菜单/数据页 > 正文

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

时间:2009-09-07 08:34 来源:网络 作者:江羽 阅读:

十、快捷菜单上的子菜单

可以在快捷菜单栏上创建子菜单。当您单击某个命令控件时,父菜单的一侧会出现子菜单。作为子菜单控件的命令在其名称右边有一个黑色小箭头。

10.1在快捷菜单栏上新建子菜单

以下示例在工作表“单元格”快捷菜单上添加名为“NewSub”的新子菜单:

Sub ShortcutSub_Create()

   CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _

   .Caption = "NewSub"

    '显示快捷菜单栏。

    ' 200, 200指的是屏幕上的位置的像素为XY坐标。

   CommandBars("Cell").ShowPopup 200, 200

End Sub

注意:由于没有添加任何菜单项,因此该子菜单为空。

10.2在快捷菜单栏的子菜单上创建命令控件

下面的宏向您在“单元格”快捷菜单上创建的子菜单“NewSub”中添加 SubItem1 命令。然后,当您单击“SubItem1”时,它将运行 Code_SubItem1 宏:

Sub ShortcutSub_AddItem()

Dim newSubItem as Object

   Set newSubItem = CommandBars("Cell").Controls("NewSub”)

   With newSubItem

      .Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"

      '点击时subItem1 将运行Code_SubItem1宏。

      .Controls("subItem1").OnAction = "Code_SubItem1"

   End With

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

 

10.3禁用快捷菜单上的子菜单项控件

以下代码示例禁用“NewSub”子菜单上的 SubItem1 命令:

Sub ShortcutSub_DisableItem()

   CommandBars("Cell").Controls("NewSub") _

   .Controls("subItem1").Enabled = False

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

注意:要启用已禁用的项目,请将 Enabled 属性设置为 True

10.4删除快捷菜单上的子菜单项控件

以下示例删除“NewSub”子菜单上的 SubItem1 命令:

Sub ShortcutSub_DeleteItem()

   CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete

   '显示快捷菜单栏。                                      

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

10.5禁用快捷菜单上的子菜单控件

以下代码示例禁用“单元格”快捷菜单栏上的“NewSub”子菜单:

Sub ShortcutSub_DisableSub()

   CommandBars("Cell").Controls("NewSub").Enabled = False

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

注意:要启用已禁用的项目,请将 Enabled 属性设置为 True

10.6删除快捷菜单上的子菜单控件

以下代码示例删除您在“单元格”快捷菜单栏上创建的“NewSub”子菜单:

Sub ShortcutSub_DeleteSub()

   CommandBars("Cell").Controls("NewSub").Delete

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

 

上一章 

Word文稿及实例代码:点击下载此附件


(责任编辑:admin)

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: