MenuSet.Menus property (Visio)
Returns the Menus collection of a MenuSet object. Read-only.
Syntax
expression. Menus
expression A variable that represents a MenuSet object.
Return value
Menus
Remarks
Note
Starting with Visio 2010, the Microsoft Office Fluent user interface (UI) replaced the previous system of layered menus, toolbars, and task panes. VBA objects and members that you used to customize the user interface in previous versions of Visio are still available in Visio, but they function differently.
A Menu object's index within the Menus collection determines its left-to-right position on the menu bar.
Example
This Microsoft Visual Basic for Applications (VBA) macro shows how to use the Menus property to get the Menus collection of a MenuSet object. It adds a menu and menu item to the user interface and sets the Caption property of the menu and menu item.
To restore the built-in user interface in Microsoft Visio after you run this macro, call the ThisDocument.ClearCustomMenus method.
Public Sub Menus_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 UIObject object that represents Microsoft Office 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 new menu before the Window menu.
Set vsoMenu = vsoMenus.AddAt(7)
vsoMenu.Caption = "MyNewMenu"
'Get the MenuItems collection.
Set vsoMenuItems = vsoMenu.MenuItems
'Add a menu item to the new menu.
Set vsoMenuItem = vsoMenuItems.Add
'Set the Caption property for the new menu item.
vsoMenuItem.Caption = "&MyNewMenuItem"
'Tell Visio to use the new UI when the document is active.
ThisDocument.SetCustomMenus vsoUIObject
End Sub
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.