Share via


SetCustomMenus Method [Visio 2003 SDK Documentation]

Replaces the current built-in or custom menus of an application or document.

object**.SetCustomMenus**UIObject

object     Required. An expression that returns an Application or Document object to receive the custom menus.

UIObject Required. An expression that returns a UIObject object that represents the new custom menus.

Version added

4.0

Remarks

If the UIObject object was created in a separate process by using the CreateObject procedure instead of getting the appropriate property of an Application or Document object, the SetCustomMenus method returns an error.

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to add a menu and menu item to the drawing window menu set, and then replace the built-in menu set with the custom set.

To restore the Microsoft Office Visio built-in menus after you run this macro, call the ThisDocument.ClearCustomMenus method.

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 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 Demo menu before the Window menu. 
    Set vsoMenu = vsoMenus.AddAt(7) 
    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  

Applies to | Application object | Document object | InvisibleApp object

See Also | CustomMenus property | SetCustomToolbars method | UIObject object