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

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

Синтаксис

выражение. MacrosEnabled

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

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

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 и обратная связь.