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 支持和反馈,获取有关如何接收支持和提供反馈的指南。