Document.MacrosEnabled 屬性 (Visio)
會指定您是否能在文件的 Microsoft Visual Basic for Applications (VBA) 專案中執行巨集,並處理事件。 唯讀。
語法
運算式。MacrosEnabled
表達 代表 Document 物件的變數。
傳回值
布林值
註解
如果文件包含執行解決方案所需的巨集,您可以使用 MacrosEnabled 屬性,確認是否已啟用文件中的巨集。 如果這些巨集已停用,則可以顯示訊息,指出因為文件禁止執行巨集,所以該解決方案可能無法如預期般運作。
MacrosEnabled 屬性值會因巨集設定與該專案之數位簽章狀態 (巨集是否由受信任的來源進行數位簽署,或是在信任位置中進行簽署) 的搭配使用狀況而異。 下表將說明這些搭配狀況。
宏設定 | 數位簽署 | 在信任位置中 | MacrosEnabled 屬性 |
---|---|---|---|
停用所有巨集 (不事先通知) | 不適用 | 否 | False |
停用所有巨集 (不事先通知) | 不適用 | 是 | True |
停用所有巨集 (事先通知) | 不適用 | 否 | False |
停用所有巨集 (事先通知) | 不適用 | 是 | True |
除了經數位簽章的巨集外,停用所有巨集 | 否 | 否 | False |
除了經數位簽章的巨集外,停用所有巨集 | 是 | 不適用 | True |
除了經數位簽章的巨集外,停用所有巨集 | 不適用 | 是 | True |
啟用所有巨集 | 不適用 | 不適用 | True |
根據預設,如果 Visio 文件不是來自於受信任的發行者、未經數位簽章、或並非在信任位置中,其中的巨集便會停用。
不過,您可以在 Visio信任中心的[宏設定] 類別中變更預設設定 (按一下 [檔案]索引標籤,依序按一下 [選項]、[信任中心],然後按一下 [信任中心設定]) 。 如果已選取 [除了經數位簽章的巨集外,停用所有巨集],則只有當不在信任位置中的 Visio 文件經過數位簽章時,才會啟用其中的巨集。 如果已選取 [停用所有巨集 (不事先通知)] 或 [停用所有巨集 (事先通知)],則會停用不在信任位置之文件中的巨集。 如果已選取 [啟用所有巨集],則會固定啟用所有巨集,但是這個選項具有安全性風險,所以不建議使用。
信任的來源會列在信任中心的[信任的發行者] 類別中,信任的位置會列在 [信任的位置] 類別中。
若要在停用狀態 (不啟用巨集) 中開啟文件,您可以使用 Document 物件的 OpenEx 方法。 例如:
Documents.OpenEx(fileName , visOpenMacrosDisabled)
範例
下列範例示範如何從附加元件開啟檔,並使用 MacrosEnabled 屬性來判斷是否啟用宏。 如果巨集已停用,則會出現訊息警告使用者此文件的功能受到限制。 在執行這個程序之前,請為 filename 變數提供有效的文件檔案名稱。
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 支援與意見反應。