Поделиться через


Свойство Document.MacrosEnabled (Visio)

Указывает, можно ли выполнять макросы и обрабатывать события в проекте Microsoft Visual Basic для приложений (VBA) документа. Только для чтения.

Синтаксис

expression. МакросыEnabled

Выражение Переменная, представляющая объект Document .

Возвращаемое значение

Boolean

Примечания

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

Значение свойства MacrosEnabled зависит от сочетания параметра макроса и состояния подписи проекта (будь то цифровая подпись в доверенном источнике или в надежном расположении). В следующей таблице описаны эти сочетания.

Параметр макроса Цифровая подпись В надежном расположении Свойство MacrosEnabled
Отключить все макросы без уведомления Недоступно Нет Неверно
Отключить все макросы без уведомления Недоступно Да Верно
Отключение всех макросов с уведомлением пользователя Недоступно Нет Неверно
Отключение всех макросов с уведомлением пользователя Недоступно Да Верно
Отключить все макросы кроме макросов с цифровой подписью Нет Нет Неверно
Отключить все макросы кроме макросов с цифровой подписью Да Н/Д Верно
Отключить все макросы кроме макросов с цифровой подписью Недоступно Да Верно
Включение всех макросов Недоступно Недоступно Верно

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

Однако вы можете изменить параметры по умолчанию в категории Параметры макросовЦентра управления безопасностью Visio (перейдите на вкладку Файл , выберите Параметры, Центр управления безопасностью, а затем — Параметры центра управления безопасностью). Если выбран параметр Отключить все макросы, кроме макросов с цифровой подписью , макросы в документах Visio, не в надежном расположении, будут включены только в том случае, если документы подписаны цифровой подписью. Если выбрать Отключить все макросы без уведомления или Отключить все макросы с уведомлением, макросы в документах, которые не находятся в надежном расположении, будут отключены. При выборе параметра Включить все макросы все макросы всегда будут включены, но этот параметр представляет угрозу безопасности и не рекомендуется.

Надежные источники перечислены в категории Надежные издатели в Центре управления безопасностью, а надежные расположения — в категории Надежные расположения .

Чтобы открыть документ в отключенном состоянии (макросы не включены), можно использовать метод OpenEx объекта Document . Например:

Documents.OpenEx(fileName , visOpenMacrosDisabled)

Пример

В следующем примере показано, как открыть документ из надстройки и использовать свойство MacrosEnabled , чтобы определить, включены ли макросы. Если макросы отключены, появится окно сообщения с предупреждением пользователя об ограниченной функциональности. Перед выполнением этого примера укажите допустимое имя файла документа для имени файла переменной.

 
Public Sub MacrosEnabled_Example() 
 
    Dim vsoDocument As Visio.Document 
    Dim blsStatus As Boolean 
 
    Set vsoDocument = Documents.Open("filename ") 
    blsStatus = vsoDocument.MacrosEnabled 
 
    If Not blsStatus Then 
 
         MsgBox "Macro execution has been disabled for this document." & _  
            "Functionality may be limited." 
 
    End if 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.