Document.SetCustomMenus 方法 (Visio)
會取代應用程式或文件目前的內建或自訂功能表。
語法
運算式。SetCustomMenus (MenusObject)
表達 代表 Document 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
MenusObject | 必要 | [IVUIOBJECT] | 會傳回代表新自訂功能表之 UIObject 物件的運算式。 |
傳回值
無
註解
注意事項
從 Visio 2010 開始,Microsoft Office Fluent 使用者介面 (UI) 取代先前的階層式功能表、工具列和工作窗格系統。 您在舊版 Visio 中用來自訂使用者介面的 VBA 物件和成員仍可在 Visio 中使用,但其運作方式不同。
如果您利用 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 支援與意見反應。