Application.SetCustomMenus 方法 (Visio)

替换应用程序或文档的当前内置或自定义菜单。

注意

从 Visio 2010 开始,Microsoft Office Fluent 用户界面 (UI) 替换了以前的分层菜单、工具栏和任务窗格系统。 用于在以前版本的 Visio 中自定义用户界面的 VBA 对象和成员在 Visio 中仍可用,但它们的功能不同。

语法

表达式SetCustomMenus (菜单对象)

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
MenusObject 必需 [IVUIOBJECT] 一个返回 UIObject 对象的表达式,该对象代表新的自定义菜单。

返回值

Nothing

注解

如果 UIObject 对象是通过使用 CreateObject 过程(而不是通过获取 ApplicationDocument 对象的适当属性)在单独的进程中创建的,则 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。