Application.SetCustomMenus 方法 (Visio)

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

注意

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

语法

表达式。SetCustomMenus (菜单对象)

expression:表示 Application 对象的变量。

参数

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

返回值

Nothing

注解

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