程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> VBA自定義菜單和菜單欄(五)

VBA自定義菜單和菜單欄(五)

編輯:關於Access數據庫

快捷菜單是在用戶右鍵單擊某個對象時出現的浮動命令欄。快捷菜單欄可以包含與命令欄相同的控件類型,而這些控件的作用也和命令欄上控件的作用相同。在大多數程序中,您無法從程序界面創建或修改快捷菜單,因而必須在運行時創建和修改快捷菜單。

要獲取有關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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved