Share via


Método InvisibleApp.SetCustomMenus (Visio)

Reemplaza los menús integrados o personalizados actuales de una aplicación o un documento.

Sintaxis

expresión. SetCustomMenus (MenusObject)

Expresión Variable que representa un objeto InvisibleApp .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
MenusObject Obligatorio [IVUIOBJECT] Expresión que devuelve un objeto UIObject que representa los nuevos menús personalizados.

Valor devuelto

Nothing

Comentarios

Nota:

A partir de Visio 2010, la interfaz de usuario (UI) de Microsoft Office Fluent reemplazó al sistema anterior de menús, barras de herramientas y paneles de tareas por capas. Los objetos y miembros de VBA que usó para personalizar la interfaz de usuario en versiones anteriores de Visio siguen estando disponibles en Visio, pero funcionan de forma diferente.

Si el objeto UIObject se ha creado en un proceso independiente mediante el procedimiento CreateObject en lugar de obtener la propiedad correspondiente de un objeto Application o Document, el método SetCustomMenus devuelve un error.

Ejemplo:

En esta macro de Microsoft Visual Basic para Aplicaciones (VBA) se muestra cómo agregar un menú y un elemento de menú a la interfaz de usuario y, a continuación, se reemplaza el conjunto de menús integrado por el conjunto de menús personalizado.

Para restaurar la interfaz de usuario integrada de Microsoft Visio después de ejecutar esta macro, llame al método 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.