Туманов Г.Е. - Visio 4.0 Практическое руководство

Главы: 1 2 3 4 5 6 7 8 9 10 11

Использование программ в Visio

Visio и OLE автоматизация

Для управления шейпами и рисунками Visio вы можете использовать язык программирования, поддерживающий OLE автоматизацию, типа Visual Basic. Программа может использовать OLE автоматизацию для включения рисунков и диаграмм Visio или автоматизации простых задач. Например, программа могла бы генерировать схему организации по списку названий и позиций или печатать все мастер-шейпы на трафарете.

Программа управляет Visio, обращаясь к его объектам и затем используя их свойства и методы.

Объектами являются элементы, с которыми вы работаете в Visio, такие как документ, страница рисунка, шейпы и формулы.

Методы – это действия, которые могут быть выполнены с объектом. Например, программа может использовать метод Copy объекта Window для копирования выбранного шейпа в буфер. Этот метод эквивалентен выбору формы на странице рисунка и использование команды Copy меню Edit Visio.

Свойства – это признаки, которые определяют появление или поведение объектов. Например, объект Shape имеет свойство Name, которая представляет название шейпа.

Для подробной информации по разработке программ для управления Visio, см. Developing Visio Solutions (изданный Visio Corporation). Для информации по объектам Visio, методам, и свойствам, смотри справочные материалы по OLE автоматизации, поддерживаемые Visio Technical, а также диск, прилагаемый к Developing Visio Solutions.

Вызов расширений

Расширение (add-on) – это программа, добавляющая функциональные возможности к Visio. Способ вызова расширения зависит от контекста, для которого оно разработано. Если расширение разработано как внешняя по отношению к Visio программа, оно запускается как любая программа Windows. Подробнее смотри документацию на Windows.

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

- Выбором расширения в подменю или диалоговом окне Run Add-on. Чтобы появиться в этом подменю или в диалоговом окне, EXE файл программы должен находиться в папке Add-ons Visio.

- Двойным щелчком на шейпе, связанном с данным расширением. Программа должны быть выбрана в установке Run Add-on диалогового окна Double-Click данного шейпа.

Для вызова расширения из меню Visio:

1. В меню Tools выберите Run Add-on.

2. В подменю Run Add-on выберите запускаемую программу. Если программы нет в подменю, выберите Add-ons и выберите программу в диалоговом окне, затем щелкните OK.

Чтобы связать расширение с шейпом и вызвать его:

1. Выберите шейп.

2. В меню Format выберите Double-Click.

3. В диалоговом окне Double-Click установите флаг Run Add-on.

4. Из списка расширений выберите то, которое нужно запустить.

5. Щелкните OK.

6. Двойным щелчком на шейпе запустите программу.

Вы можете также ассоциировать расширение с шейпом вводом формулы, использующей функции RUNADDON или RUNADDONWARGS, в ячейку EventDblClick в шейп-листе.

Рассмотрение типовой программы

Приведенный ниже пример на Visual Basic просматривает открытые рисунки в Visio и печатает имя каждого файла рисунка, сопровождаемого названиями страниц в рисунке.

Программа делает следующее:

1. Находит файл рисунка, открытого в Visio.

2. Печатает путь к файла рисунка.

3. Печатает название каждой страницы в файле рисунка.

4. Повторяет шаги 1 до 3, пока все открытые файлы рисунка не будут внесены в список.

Программа выглядит примерно так:

Код Visual Basic Назначение

Sub ShowNames() Декларация переменных

Dim iDoc As Integer, iPag As Integer

Dim appVisio As Object

Dim pagObj As Object, docObj As Object

Dim docsObj As Object

Set appVisio = GetObject(“visio.application”)

Set docsObj = appVisio.Documents Получает все открытые рисунки

For iDoc = 1 To docsObj.Count

Set docObj = docsObj(iDoc) Получает рисунок

Printer.Print docObj.Name Печатает имя

For iPag = 1 To docObj.Pages.Count

Set pag = docObj.Pages(iPag) Получает страницу

Printer.Print Tab(5); pagObj.Name Печатает название

Next iPag

Next iDoc

Printer.EndDoc

End Sub

Пример вывода программы:

Вывод Описание

c:\drawings\pages.vsd Название первого рисунка

Background-1 Название страницы 1

Background-2 Название страницы 2

c:\drawings\recycle.vsd Название второго рисунка

Page-1 Название страницы 1

Page-2 Название страницы 2

Page-3 Название страницы 3