Функция RUNMACRO

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

Синтаксис

RUNMACRO (имя_макроса [, projname_opt ])

Параметры

Имя Необходимость Тип данных Описание
имя макроса
Обязательный
String
Имя вызываемого макроса.
projname_opt
Необязательный
String
Проект, содержащий макрос.

Замечания

Если указан проект, Microsoft Visio сканирует все открытые документы, содержащие projname_opt , и вызывает имя макроса в этом проекте. Если projname_opt пропущено или значение NULL (""), предполагается, что имя макроса находится в проекте VBA документа, содержащего вычисляемую формулу RUNMACRO.

Функция RUNMACRO отличается от функции CALLTHIS тем, что она не передает ссылку на фигуру, которая является владельцем формулы, вычисляемой как macroname. Как и CALLTHIS, функция RUNMACRO не требует ссылки на projname_opt для вызова в нее.

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

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

  • Закройте документ из кода, который не является VBA.

  • Закройте документ из проекта, отличного от того, который закрывается.

  • Публикация оконных сообщений, чтобы закрыть окна в документе, а не закрывать документ.

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

Пример

В следующем примере вызывается макрос с именем MyTest в модуле класса ThisDocument проекта VBA, содержащего формулу RUNMACRO.

RUNMACRO ("ThisDocument.MyTest")