Автоматизировать Visio можно на трёх уровнях: формулами в ShapeSheet, макросами VBA и внешними надстройками на .NET. Начните с самого простого уровня и переходите дальше, когда формул станет мало.
1. Таблица свойств фигуры (ShapeSheet)
Каждая фигура Visio — это мини-электронная таблица со своими ячейками и формулами.
- Что можно делать. Писать формулы, как в Excel, и управлять геометрией: например, сделать ширину фигуры всегда вдвое больше высоты или менять цвет в зависимости от текста.
- Как открыть. Выделите фигуру и на вкладке «Разработчик» нажмите «Показать ShapeSheet».
2. Макросы на VBA
VBA — встроенный язык программирования, общий для приложений Microsoft Office.
- Нажмите
Alt + F11, чтобы открыть редактор кода. - Пишите скрипты для пакетной обработки файлов, генерации отчётов или создания интерактивных кнопок прямо на холсте.
- Типичный пример: цикл перебирает все фигуры на странице и записывает их координаты в Excel.
Чтобы макросы сохранялись, файл нужно записать в формате .vsdm (рисунок Visio с поддержкой макросов).
3. Внешняя разработка (.NET, C#)
Если нужна полноценная надстройка с собственной вкладкой на ленте, её пишут в Visual Studio на .NET. Такая надстройка получает доступ ко всей объектной модели Visio и позволяет интегрировать его с корпоративными системами и базами данных.
С чего начать изучение
Запись макроса
На вкладке «Разработчик» нажмите «Записать макрос», выполните действия мышью и откройте сгенерированный код VBA. Это хороший способ понять объектную модель на практике.
SDK и документация
В Visio SDK от Microsoft есть примеры кода и подробное описание объектной модели. Для первого знакомства с ShapeSheet подойдёт шпаргалка по ячейкам ShapeSheet.
Что почитать дальше
- FAQ по автоматизации Visio — готовые ответы по VBA и событиям.
- Примеры решений на базе Visio — что строят на Visio как на платформе.
- Связь рисунков с данными — динамические схемы без программирования.