會指定您是否能在文件的 Microsoft Visual Basic for Applications (VBA) 專案中執行巨集,並處理事件。 唯讀。
語法
表情。巨元啟用
詞 一個代表 文件 物件的變數。
傳回值
布林值
註解
如果文件包含執行解決方案所需的巨集,您可以使用 MacrosEnabled 屬性,確認是否已啟用文件中的巨集。 如果這些巨集已停用,則可以顯示訊息,指出因為文件禁止執行巨集,所以該解決方案可能無法如預期般運作。
MacrosEnabled 屬性值會因巨集設定與該專案之數位簽章狀態 (巨集是否由受信任的來源進行數位簽署,或是在信任位置中進行簽署) 的搭配使用狀況而異。 下表將說明這些搭配狀況。
| 巨集設定 | 數位簽署 | 在信任位置中 | MacrosEnabled 屬性 |
|---|---|---|---|
| 停用所有巨集 (不事先通知) | 不適用 | 否 | 錯 |
| 停用所有巨集 (不事先通知) | 不適用 | 是 | True |
| 停用所有巨集 (事先通知) | 不適用 | 否 | 錯 |
| 停用所有巨集 (事先通知) | 不適用 | 是 | True |
| 除了經數位簽章的巨集外,停用所有巨集 | 否 | 否 | 錯 |
| 除了經數位簽章的巨集外,停用所有巨集 | 是 | 不適用 | 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 支援與意見反應。