Visioport.ru

Автоматизировать Visio можно на трёх уровнях: формулами в ShapeSheet, макросами VBA и внешними надстройками на .NET. Начните с самого простого уровня и переходите дальше, когда формул станет мало.

1. Таблица свойств фигуры (ShapeSheet)

Каждая фигура Visio — это мини-электронная таблица со своими ячейками и формулами.

  • Что можно делать. Писать формулы, как в Excel, и управлять геометрией: например, сделать ширину фигуры всегда вдвое больше высоты или менять цвет в зависимости от текста.
  • Как открыть. Выделите фигуру и на вкладке «Разработчик» нажмите «Показать ShapeSheet».

2. Макросы на VBA

VBA — встроенный язык программирования, общий для приложений Microsoft Office.

  1. Нажмите Alt + F11, чтобы открыть редактор кода.
  2. Пишите скрипты для пакетной обработки файлов, генерации отчётов или создания интерактивных кнопок прямо на холсте.
  3. Типичный пример: цикл перебирает все фигуры на странице и записывает их координаты в Excel.

Чтобы макросы сохранялись, файл нужно записать в формате .vsdm (рисунок Visio с поддержкой макросов).

3. Внешняя разработка (.NET, C#)

Если нужна полноценная надстройка с собственной вкладкой на ленте, её пишут в Visual Studio на .NET. Такая надстройка получает доступ ко всей объектной модели Visio и позволяет интегрировать его с корпоративными системами и базами данных.

С чего начать изучение

Запись макроса

На вкладке «Разработчик» нажмите «Записать макрос», выполните действия мышью и откройте сгенерированный код VBA. Это хороший способ понять объектную модель на практике.

SDK и документация

В Visio SDK от Microsoft есть примеры кода и подробное описание объектной модели. Для первого знакомства с ShapeSheet подойдёт шпаргалка по ячейкам ShapeSheet.

Что почитать дальше

Частые вопросы

На каком языке программируют Visio?
Встроенный язык — VBA, он доступен через редактор по нажатию Alt + F11. Для надстроек используют .NET, например C#, а простую логику можно задать формулами в ShapeSheet вообще без кода.
Что такое ShapeSheet?
Это таблица свойств фигуры, в которой геометрия, текст и данные описываются формулами, как в Excel. Через неё можно связать, например, ширину фигуры с высотой или цвет с текстом.
В каком формате сохранять файл с макросами?
В формате .vsdm (рисунок Visio с поддержкой макросов). В обычном .vsdx макросы не сохраняются.
С чего начать изучать автоматизацию Visio?
Запишите макрос кнопкой «Записать макрос» на вкладке «Разработчик», выполните нужные действия мышью и изучите получившийся код VBA. Затем смотрите примеры и описание объектной модели в Visio SDK.