Visio) (Application.SetCustomMenus 方法

會取代應用程式或文件目前的內建或自訂功能表。

注意事項

從 Visio 2010 開始,Microsoft Office Fluent 使用者介面 (UI) 取代先前的階層式功能表、工具列和工作窗格系統。 您在舊版 Visio 中用來自訂使用者介面的 VBA 物件和成員仍可在 Visio 中使用,但其運作方式不同。

語法

運算式。SetCustomMenus (MenusObject)

expression 代表 Application 物件的變數。

參數

名稱 必要/選用 資料類型 描述
MenusObject 必要 [IVUIOBJECT] 會傳回代表新自訂功能表之 UIObject 物件的運算式。

傳回值

無

註解

如果您利用 CreateObject 程序 (而不是取得 Application 或 Document 物件的適當屬性),在個別的處理程序中建立 UIObject 物件,則 SetCustomMenus 方法會傳回錯誤。

範例

這個 Microsoft Visual Basic for Applications (VBA) 巨集會示範如何將功能表及功能表項目新增至使用者介面,然後將內建功能表組合取代為自訂功能表組合。

若要在執行這個巨集之後還原 Microsoft Visio 的內建使用者介面,請呼叫 ThisDocument.ClearCustomMenus 方法。

 
Public Sub SetCustomMenus_Example() 
 
 Dim vsoUIObject As Visio.UIObject 
 Dim vsoMenuSets As Visio.MenuSets 
 Dim vsoMenuSet As Visio.MenuSet 
 Dim vsoMenus As Visio.Menus 
 Dim vsoMenu As Visio.Menu 
 Dim vsoMenuItems As Visio.MenuItems 
 Dim vsoMenuItem As Visio.MenuItem 
 
 'Get a UI object that represents the Microsoft Visio built-in menus. 
 Set vsoUIObject = Visio.Application.BuiltInMenus 
 
 'Get the MenuSets collection. 
 Set vsoMenuSets = vsoUIObject.MenuSets 
 
 'Get the drawing window menu set. 
 Set vsoMenuSet = vsoMenuSets.ItemAtID(visUIObjSetDrawing) 
 
 'Get the Menus collection. 
 Set vsoMenus = vsoMenuSet.Menus 
 
 'Add a Demo menu. 
 Set vsoMenu = vsoMenus.AddAt(1) 
 vsoMenu.Caption = "Demo" 
 
 'Get the MenuItems collection. 
 Set vsoMenuItems = vsoMenu.MenuItems 
 
 'Add a menu item to the new Demo menu. 
 Set vsoMenuItem = vsoMenuItems.Add 
 
 'Set the properties for the new menu item. 
 vsoMenuItem.Caption = "&Hello" 
 vsoMenuItem.AddOnName = "MsgBox ""Hello""" 
 
 'Tell Visio to use the new UI when the document is active. 
 ThisDocument.SetCustomMenus vsoUIObject 
 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。