Visio) (Application.SetCustomMenus 方法

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

注意事項

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

語法

運算式SetCustomMenus (MenusObject)

expression 代表 Application 物件的變數。

參數

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

傳回值

註解

如果您利用 CreateObject 程序 (而不是取得 ApplicationDocument 物件的適當屬性),在個別的處理程序中建立 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 支援與意見反應