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


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

发表时间:2009/9/5 评论(0) 浏览(12399)  评论 | 加入收藏 | 复制
   
摘 要:接前面一章
正 文:

八、快捷菜单栏

快捷菜单是在用户右键单击某个对象时出现的浮动命令栏。快捷菜单栏可以包含与命令栏相同的控件类型,而这些控件的作用也和命令栏上控件的作用相同。在大多数程序中,您无法从程序界面创建或修改快捷菜单,因而必须在运行时创建和修改快捷菜单。

要获取有关Excel 2002Excel 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指的是屏幕上的位置的像素为XY坐标.

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

江羽

文章分类

文章存档

友情链接