Links
💡

Объектная модель Visio

Для того чтобы создавать ваши собственные решения с использованием VBA в MS Visio необходимо понимать его объектную модель!

Описание

Объектная модель любого приложения представляет собой иерархическую структуру взаимосвязей компонентов (объектов) внутри приложения.

Справочная информация по объектной модели

В левой части окна данного справочника вы можете выбрать интересующий вас объект чтобы посмотреть его описание, относящиеся к компоненту события, свойства и методы.
Рис. 1 - Интерфейс справочника объектной модели на сайте Microsoft

Окно Object Browser

Также содержимое объектной модели можно увидеть в диалоговом окне Object Browser, в редакторе VBA.
Рис. 2 - Внешний вид окна Object Browser
В окне Object Browser вы можете просмотреть содержимое библиотеки объектов и сведения о выбранных объектах.
Отображает классы, свойства, методы, события и константы, доступные в библиотеках объектов, и процедуры в проекте. Может использоваться для поиска и использования создаваемых вами объектов и объектов из других приложений.
Описание интерфейса окна Object Browser (правда для MS Word, т.к. для MS Visio подобного описания нет).

Окно Locals

Для понимания взаимосвязей объектов в MS Visio может быть полезно применение окна локальных переменных - Locals, в редакторе VBA.
Рис. 3 - Внешний вид окна Locals
Основное назначение окна Locals отображать текущие значения всех объявленных переменных проекта. Если щелкнуть по знаку
левее имени одной из переменных, то развернется древовидная структура свойств данного объекта. С помощью этой структуры можно определить объекты, которые располагаются в иерархии уровнем ниже или выше объекта, соответствующего текущей переменной.

Схемы объектной модели

Классический вид объектной модели Visio представлен на рисунке 4.
Рис. 4 - Microsoft Visio 2002 Developer Reference (оригинал)
MS Visio. Схемы объектной модели
MS Visio. Схемы объектной модели
↑ Классическая схема с интерактивными возможностями: щелкните мышью по интересующему вас объекту для перехода↑ к англоязычному справочному материалу по данному объекту
Более современный вид объектной модели с отображением контейнеров представлен на рисунке 5.
Рис. 5 - Представление от jheyman (оригинал)
Подготовленная лично мной схема объектной модели (древовидная структура) (за основу была взята классическая модель).
Приведенные схемы отображают основные компоненты объектной модели.

Заключение

Для более эффективного написания кода вам необходимо представлять себе объекты, свойства, методы, связи и события приложения.
К особенностям приложения Visio можно отнести наличие у него среды разработки ShapeSheet (известной русскоязычному пользователю под названием таблица свойств). Сам документ, все его страницы, каждая фигура на странице и некоторые другие объекты обладают собственной таблицей свойств, в которой в параметрической форме описываются свойства данного объекта.
Без применения ShapeSheet программно в приложении Visio можно лишь первично добавлять объекты, удалять их, создавать события и изменять настройки самого приложения. Любое изменение свойств фигуры, страницы, документа сопровождается изменением соответствующих ячеек в таблице свойств относящихся к изменяемому параметру.
Наибольший эффект от программирования в Visio можно получить при понимании объектной модели и ShapeSheet совместно.
Полезную информацию о таблице свойств вы можете найти на сайте База знаний ShapeSheet.