Поделиться через


Свойство UIObject.AccelTables (Visio)

Возвращает коллекцию AccelTables объекта UIObject . Только для чтения.

Синтаксис

выражение. AccelTables

Выражение Переменная, представляющая объект UIObject .

Возвращаемое значение

AccelTables

Замечания

Примечание.

Начиная с Visio 2010 пользовательский интерфейс Microsoft Office Fluent заменил предыдущую систему многоуровневых меню, панелей инструментов и областей задач. Объекты И члены VBA, которые использовались для настройки пользовательского интерфейса в предыдущих версиях Visio, по-прежнему доступны в Visio, но работают по-разному.

Если объект UIObject представляет элементы меню и ускорители (например, если вы использовали свойство BuiltInMenus объекта Application для получения объекта UIObject ), его коллекция AccelTables представляет таблицы ключей ускорителя для этого объекта UIObject .

Чтобы получить ускорители для определенного контекста окна, например окна рисования, используйте свойство ItemAtID коллекции AccelTables . Если контекст окна не включает акселераторы, коллекция AccelTables отсутствует. Допустимые идентификаторы контекста окна объявляются в VisUIObjSets в библиотеке типов Visio.

Пример

В следующем макросе Microsoft Visual Basic для приложений (VBA) показано, как использовать свойство AccelTables для удаления клавиши акселератора из встроенного меню.

Чтобы восстановить встроенные меню в Microsoft Visio после выполнения этого макроса, вызовите метод ThisDocument.ClearCustomMenus .

 
Public Sub AccelTables_Example() 
 
 Dim vsoUIObject As Visio.UIObject 
 Dim vsoAccelTable As Visio.AccelTable 
 Dim vsoAccelItems As Visio.AccelItems 
 Dim vsoAccelItem As Visio.AccelItem 
 Dim intCounter As Integer 
 
 'Retrieve the UIObject object for the copy of the built-in menus. 
 Set vsoUIObject = Visio.Application.BuiltInMenus 
 
 'Set vsoAccelTable to the drawing menu set. 
 Set vsoAccelTable = vsoUIObject.AccelTables.ItemAtID(visUIObjSetDrawing) 
 
 'Retrieve the accelerator items collection. 
 Set vsoAccelItems = vsoAccelTable.AccelItems 
 
 'Retrieve the accelerator item for the Visual Basic Editor. 
 'To do this, we must iterate through the collection 
 'and locate the item we want to manipulate. 
 'The item can be identified either by checking 
 'the CmdNum property or by checking for the specific key. 
 'Because checking for the key requires looking at the Alt, 
 'Control, Shift, and Key properties, it is better to use the 
 'CmdNum property. Because we retrieved the built-in menus, 
 'we know that we can find the accelerator. 
 For intCounter = 0 To vsoAccelItems.Count - 1 
 Set vsoAccelItem = vsoAccelItems.Item(intCounter) 
 If vsoAccelItem.CmdNum = Visio.visCmdToolsRunVBE Then 
 Exit For 
 
 End If 
 Next intCounter 
 
 'Delete the accelerator. 
 vsoAccelItem.Delete 
 
 'Tell Visio to use the new UI. 
 ThisDocument.SetCustomMenus vsoUIObject 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.