Функция RUNADDON

Выполняет надстройку или макрос в проекте Microsoft Visual Basic для приложений (VBA).

Синтаксис

RUNADDON(" string ")

Параметры

Имя Необходимость Тип данных Описание
строка
Обязательный
String
Имя надстройки в коллекции Addons или макроса в проекте VBA.

Замечания

Если проект документа, содержащий вызов функции RUNADDON (или другой проект, если на него есть ссылка), не содержит макроса (процедура без аргументов) с именем string, Microsoft Visio запускает надстройку с именем string. Если не удается найти строку с именем надстройки, Visio ничего не делает и не сообщает об ошибке. (Свойство TraceFlags можно использовать для мониторинга процедур и надстроек, которые пытается запустить Visio.)

При вызове процедуры в стандартном модуле рекомендуется префиксовать строку с именем модуля, содержащим процедуру (например, moduleName.procName), так как несколько модулей могут иметь процедуру с одинаковыми именами.

Чтобы вызвать процедуру в проекте, отличном от проекта документа, содержащего вызов функции RUNADDON, используйте синтаксис projName.modName.procName (необходимо явно задать ссылку на projName в проекте VBA).

Примечание.

Начиная с Visio 2002 функция RUNADDON не может выполнять строку, содержащую произвольный код VBA. Код, который ранее был передан функции RUNADDON, можно переместить в процедуру в проекте VBA документа, вызываемого из функции RUNADDON.

Дополнительные сведения о выполнении кода в Visio см. в разделе Сведения о параметрах безопасности и выполнении кода в Visio в этом справочнике по таблицам фигур.

В более ранних версиях Visio эта функция отображалась как _RUNADDON. Visio версий 4.0 и более поздних принимают любой стиль.

Пример 1

RUNADDON("Calendar.exe")

Запускает надстройку с именем Calendar.exe.

Пример 2

RUNADDON("Фигуры массива")

Запускает надстройку (реализованную VSL) с именем Array Shapes.

Пример 3

RUNADDON("ThisDocument.ReportStatistics")

Вызывает макрос ReportStatistics в модуле ThisDocument проекта документа, содержащего этот вызов функции.

Примечание.

Чтобы вызвать макрос в модуле ThisDocument , необходимо указать перед строкой "ThisDocument", как показано ниже.

Пример 4

RUNADDON(" ModuleName . ReportStatistics")

Вызывает макрос ReportStatistics в ModuleName в проекте документа, который содержит этот вызов функции.