Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д.

API для Visio 2007 Viewer

Геннадий Туманов

Visio 2007 Viewer появился впервые в конце 2006 года. Предназначен для просмотра файлов Visio там, где отсутствует установленный Visio или установлена более ранняя версия по сравнению с той, в которой создан файл.

Основные характеристики базовой версии просмотрщика:

  • Работает под Windows 2000, Windows XP, Windows 2003, Windows Vista.
  • Реализован как элемент управления ActiveX, который загружает и обрабатывает рисунки Visio в окне Internet Explorer. Требует IE 5.0 или выше.
  • Распространяется бесплатно.
  • Объем дистрибутива менее 8 Мб.

Показывает рисунки, созданные практически во всех версиях Visio - Visio 5.0, 2000, 2002, 2003 или 2007, причем как в двоичном (vsd) формате, так и в виде XML (vdx).

После установки на компьютер пользователя прописывается в качестве средства обработки файлов Visio. После этого пользователю достаточно просто щелкнуть по файлу с расширением .vsd, .vss, .vst и т.д. и файл откроется в окне Internet Explorer.

Рисунок можно двигать, масштабировать, селектировать шейпы и просматривать их пользовательские свойства в отдельном окне. В том же окне можно слегка изменить форму отображения - назначить цвет фона, показать или скрыть сетку, управлять отображением слоев и замечаний рецензентов. В общем-то, присутствует все, чего можно ожидать от просмотрщика.

Но вот в январе 2009 (через пару лет) появилось Developer Reference for Visio 2007 Viewer и как-то сразу подсветилась не очень афишируемая возможность строить свои приложения на основе Visio 2007 Viewer.

Итак, что мы имеем. Имеется ActiveX, который можно водрузить на свою форму, добавить органы управления и обработчики событий и получить просмотрщик, оптимизированный под нужное применение. API просмотрщика позволяет выполнять следующие функции:

  • Загружать и выгружать рисунки Visio;
  • Селектировать шейпы;
  • Работать с гиперссылками;
  • Выводить и скрывать настроечное окно просмотрщика;
  • Управлять размерами и положением окна просмотрщика;
  • Управлять цветами страницы, фона, отображением сетки и скролбаров;
  • Управлять отображением (видимость и цвет) слоев;
  • Управлять видимостью комментариев;
  • Управлять тулбарами;
  • Поддерживать обработчики событий.

Рисовать, естественно, ничего нельзя, но ведь можно придумать немало пользовательских приложений, для которых эта функция и не нужна. Это может быть интерактивная карта города или план помещения, связанные с базой данных, интерактивное электронное руководство, основанное на графических данных, и т.д. Пользователь получит приложение с графическим интерфейсом, не покупая Visio, как это понадобилось бы ему в случае создания приложения на основе самого Visio или ActiveX Drawing Explorer.

Вызов и управление

Использование ActiveX трудностей не представляет. К проекту подключается Microsoft Visio Viewer 12.0 Type Library. При этом появляется компонент Viewer.

API позволяет управлять компонентом примерно так:

Viewer1.Load ("D:\d2007.vsd")

Viewer1.GridVisible = True

Viewer1.PageVisible = True

Debug.Print Viewer1.SRC

Viewer1.ContextMenuEnabled = True

Viewer1.ToolbarVisible = True

Перечень свойств компонента:

AlertsEnabled

BackColor

BuildNumber

ContextMenuEnabled

CurrentPageIndex

CustomPropertyCount

CustomPropertyName

CustomPropertyValue

DocumentLoaded

GridVisible

HighQualityRender

HyperlinkAddress

HyperlinkCount

LastErrorCode

LayerColor

LayerColorOverride

LayerColorTrans

LayerCount

LayerDeleted

LayerName

LayerVisible

MajorVersionNumber

MarkupOverlaysVisible

MinorVersionNumber

PageColor

PageCount

PageIDToIndex

PageIndexToID

PageName

PageTabsVisible

PageVisible

ParentShape

PropertyDialogEnabled

ReviewerColor

ReviewerCount

ReviewerID

ReviewerInitial

ReviewerMarkupVisible

ReviewerName

ScrollbarsVisible

SelectedShapeIndex

ShapeAtPoint

ShapeCount

ShapeIDToIndex

ShapeIndexToID

ShapeName

SRC

SubShapeAtPoint

ToolbarButtons

ToolbarCustomizable

ToolbarVisible

Zoom

Доступные методы:

DisplayAbout

DisplayContextMenu

DisplayHelp

DisplayPropertyDialog

FollowHyperlink

GetErrorMessage

GetPageView

Load

Pan

SelectShape

SetPageView

Unload

ZoomToPoint

ZoomToRect

И события:

OnDocumentLoaded

OnDocumentUnloaded

OnLayerChanged

OnMarkupOverlaysVisibleChanged

OnPageChanged

OnReviewerChanged

OnSelectionChanged

OnToolbarCustomized

OnViewChanged

Ссылки

На данный момент справка по объектной модели доступна по адресу Visio 2007 Viewer Object Model Reference

Загрузить Visio 2007 Viewer можно с сайта Microsoft

Visio 2007 Viewer SP2

А в августе 2009 вышел Visio 2007 Viewer SP2. Объявлено, что сервис пак содержит исправления замеченных ошибок, а также ряд улучшений, связанных со стабильностью, производительностью и безопасностью. Однако старенькие системы поддерживаться перестали. В списке систем присутствуют только: Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Vista Service Pack 1; Windows XP Service Pack 3. На Windows 2000 он у меня устанавливаться отказался.


Контакты: Туманов Геннадий Евгеньевич   gCroc@yandex.ru