🕹️Эмуляция работы с интерфейсом приложения

Описание программной эмуляции запуска команд (нажатия клавиш).

Зачем нужна эмуляция работы с интерфейсом

Для выполнения вызова команд, переключения различных режимов, активации элементов интерфейса для доступа к которым нужно долго перемещаться по вкладкам ленты и/или элементам меню приложения. Несколько примеров:

Как выполняется эмуляция

Если вам необходимо программно вызвать команду, доступную в интерфейсе приложения MS Visio у вас есть два способа:

  1. Использовать метод DoCmd, метод имеет синтаксис:

Application.Docmd(CommandID)

Часть из этих констант вызова команд CommandID могут использоваться при создании пользовательского решения в среде ShapeSheet (также известной русскоязычному пользователю как таблица свойств) с применением функции DOCMD.

Список констант приведен в таблице 1, также в таблице имеется информация о возможности запуска команды используя VBA и ShapeSheet (см. столбцы 3 и 4 соответственно).

На стороннем ресурсе есть вариант этой таблицы с возможностью сортировки и фильтрации.

2. Использовать объект UIObject, который представляет собой коллекции встроенных меню Visio (MenuSets), панелей инструментов (Toolbars) и ускорителей (AccelTables) встроенного пользовательского интерфейса Visio. Эти элементы появились в интерфейсе Visio во времена когда продукт разрабатывался компанией Visio Corp.

После приобретения Visio корпорацией Microsoft в интерфейс приложения были добавлены коллекции CommandBars общие для приложений MS Office.

Наиболее полно настройка пользовательского интерфейса приложения для версий с классическим интерфейсом описана в главе 22 Customizing the Visio User Interface в документации SDK Visio 2002.

В официальном справочнике (актуальной редакции) в описании для вышеперечисленных элементов встроенного меню есть примечание:

Примечание:

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

Примеры кода

Перечисление CommandBars

В листинге 1 представлен код, выполняющий перебор коллекции CommandBars. А также полученный вывод наименований объектов коллекции.

Закрытие дополнительного окна «Формат фигуры»

В листинге 2 вы можете увидеть код который позволяет скрывать дополнительное окно «Формат фигуры». Это окно появилось в версиях MS Visio с ленточным интерфейсом (2010+).

Это окно занимает довольно большую часть относительно всего окна приложения Visio, у этого окна нет встроенной команды скрытия или сворачивания и закрыть его можно только нажав кнопку x, в верхнем правом углу этого окна!

Меня раздражали эти дополнительные усилия на закрытие данного дополнительного окна…

Last updated