規劃 Office 2016 VBA 巨集的安全性設定

摘要: 說明 Visual Basic for Applications (VBA) 和 VBA 巨集設定如何控制 VBA 和 VBA 巨集在 Office 2016 中的行為方式。

如果您想要控制 Visual Basic for Applications (VBA) 和 VBA 宏的行為方式,您可以變更下列應用程式的 Office 2016 VBA 和 VBA 宏設定:Access 2016、Excel 2016、PowerPoint 2016、Publisher 2016、Visio 2016 和 Word 2016。

規劃 VBA 和 VBA 巨集安全性設定

Office 2016 提供幾項設定讓您控制 VBA 和 VBA 巨集的行為。 在這些設定中,您可以執行下列動作:

  • 「變更 VBA 宏的安全性警告設定。 這些調整包括停用 VBA 宏、啟用所有 VBA 宏,以及變更使用者收到 VBA 宏通知的方式。

  • 封鎖 VBA 宏從因特網執行 Word、Excel、PowerPoint、Access 和 Visio 檔案。

  • 停用 VBA。

  • 在透過 Automation 利用程式設計方式啟動的應用程式中變更 VBA 巨集的行為。

  • 變更防毒軟體掃描加密 VBA 巨集的方式。

默認會啟用 VBA,允許執行受信任的 VBA 宏。 在此設定下,允許在特定案例中使用 VBA 宏。 這些包括儲存在信任位置和受信任檔中之檔中的宏。 此外,宏必須符合下列準則才能使用:

  • 宏是由使用數位簽名的開發人員所簽署。

  • 數位簽章有效。

  • 此數位簽署是最新的 (未過期)。

  • 與數位簽名相關聯的憑證是從具信譽的證書頒發機構單位 (CA) 發出。

  • 簽署巨集的開發人員是受信任的發行者。

注意事項

巨集的預設安全性設定在 Outlook 2016 中不同。 如需詳細資訊,請參閱 Outlook 2016 安全性文件。

在用戶選取訊息列並選擇啟用 VBA 宏之前,不允許執行不受信任的 VBA 宏。

使用 Office 2016 遙測儀表板查看 VBA 巨集使用狀況資料

您可以在 Office 2016遙測儀表板中檢閱資料,輕鬆瞭解組織中使用 VBA 巨集的情況。 有一個名為 「Inventory」 的內建報表,可收集並顯示每個受監視 Office 解決方案的唯一實例數據。 此報告包含 Office 檔是否使用 VBA 宏。

只有在設定並部署 Office 遙測儀錶板時,才使用下列程式。 如需 Office 遙測儀錶板的相關信息,請 參閱 Office 中的相容性和遙測

若要在 Office 2016 遙測儀表板報告中檢視 VBA 巨集使用狀況

  1. 開啟 [遙測儀表板],並連線至遙測資料庫。

  2. 在 遙測儀表板的功能窗格中,選擇 [自訂報告]

  3. [自訂報告] 頁面開啟時,選擇 [建立自訂報告]

  4. 在 [樞紐分析表欄位] 清單的 [庫存] 區段中,尋找並選取 [具有 VBA]。 檢閱報告中是否有任何 VBA 相關警告。 如果您需要深入調查,請在 [清查] 數據表中選取更多字段。

  5. 儲存資料,然後關閉 遙測儀表板。

變更 VBA 巨集的 Office 2016 安全性警告設定

Office 2016 提供一項設定讓您變更 VBA 巨集的安全性警告設定和行為。 請遵循這些指導方針來設定設定,以通知用戶有關不受信任的 VBA 宏。 此方法也可協助您變更 VBA宏的默認行為。

群組原則設定名稱: VBA 巨集通知設定

  • 描述: 此設定控制應用程式向使用者提出 Visual Basic for Applications (VBA) 巨集警告的方式。 您可以針對每個應用程式針對 Access 2016、Excel 2016、PowerPoint 2016、Publisher 2016、Visio 2016 和 Word 2016 設定此設定。 此設定有四種可能的選項:

    • 全部停用 (事先通知) 不論巨集是否已簽署,應用程式會對所有巨集顯示信任列。 此設定為預設值。

    • 停用數位簽名宏以外的所有專案 應用程式會顯示數位簽名宏的信任列,讓用戶能夠啟用宏或讓宏保持停用。 任何未簽署的宏都會保持停用狀態,而且使用者不會收到通知,也無法啟用這些不帶正負號的宏。

    • 全部停用 (不事先通知) 不論巨集是否已簽署,應用程式會停用所有巨集,且不會通知使用者。

    • 啟用所有巨集 (不建議使用;會執行有潛在危險的程式碼) 不論巨集是否已簽署,啟用所有巨集。 此選項會讓危險的程式碼在未經過偵測之下執行,因而大幅降低安全性。

  • 影響: 如果您啟用此設定並選取 [除了經數位簽章的巨集外,停用所有巨集] 選項,則包含未簽署巨集的文件和範本會失去這些巨集提供的所有功能。 為了避免失去功能,使用者可將包含巨集的檔案放在信任的位置。

    重要事項

    如果選取了 [停用除數位簽名宏以外的所有專案],使用者就無法開啟未簽署的 Access 2016 資料庫。

    如果您選取 [ 停用全部而不通知],則包含未簽署和已簽署宏的檔和範本會遺失這些宏提供的所有功能。 即使宏已簽署,且發行者列在 [信任的發行者] 清單中,也會發生此功能遺失。

  • 準則: 具有極嚴格安全性環境的組織通常會啟用此設定,且會選取 [除了經數位簽章的巨集外,停用所有巨集] 選項。 不允許使用者執行巨集的組織通常會啟用此設定,且會選取 [全部停用 (不事先通知)]

在 Office 2016 中封鎖 VBA 巨集,使其無法在來自網際網路的 Word、Excel 及 PowerPoint 檔案中執行

Office 提供的群組原則設定可讓您封鎖巨集,使其無法在來自網際網路的 Word、Excel 及 PowerPoint 檔案中執行。 根據預設,Word、Excel 及 PowerPoint 檔案中的巨集會根據巨集警告設定來啟用。 系統會根據附件執行服務 (AES) 所新增至檔案的區域資訊而將檔案識別為來自網際網路。 AES 會將區域資訊新增至使用 Outlook、Internet Explorer 和其他一些應用程式下載的檔案。 如果您想要在來自網際網路的 Word、Excel 及 PowerPoint 檔案中封鎖巨集,請使用下列指導方針來決定如何進行此設定。

您可以使用群組原則來進行此設定。 「信任中心」並未提供對等的服務。

群組原則設定名稱: 封鎖巨集使其無法在來自網際網路的 Office 檔案中執行

  • 說明: 此設定會封鎖 VBA 巨集,使其無法在來自網際網路的 Excel 2016、PowerPoint 2016 和 Word 2016 檔案中執行。 您可以分別對每個應用程式進行此設定。

  • Impact: If you enable this policy setting, macros are blocked from running on files from the internet, even if Enable all macros is selected in the Macro Settings section of the Trust Center. 此外,使用者不會選擇「啟用內容」,而是會收到宏遭到封鎖而無法執行的通知。 如果使用者將 Office 檔案儲存到信任的位置或先前信任它,則允許宏執行。

  • 指導方針: 具有極嚴格安全性環境,但需要使用含有 VBA 巨集之文件的組織通常會啟用此設定。 如果組織在運作上必須使用系統認為源自網際網路且具有 VBA 程式碼的文件,則請勿啟用此設定。

在 Office 2016 中停用 VBA

Office 2016 提供群組原則設定讓您啟用或停用 VBA。 預設會啟用 VBA。 如果您要停用 VBA,請使用下列準則來決定如何進行此設定。

注意事項

您只能使用群組原則來停用 VBA。 沒有對等的「信任中心」。

群組原則設定名稱: 停用 Office 應用程式的 VBA

  • 描述:此設定會停用 Excel 2016、Outlook 2016、PowerPoint 2016、Publisher 2016、SharePoint Designer 2013 和 Word 2016 中的 VBA,並防止任何 VBA 程式代碼在這些應用程式中執行。 您無法針對個別應用程式來進行此設定。 這是通用設定。 啟用此設定不會在使用者的電腦上安裝或移除任何 VBA 相關程式碼。

  • 影響: 如果您啟用此設定,則 VBA 程式碼不會執行。 如果組織在運作上必須使用有 VBA 程式碼的文件,請勿啟用此設定。

  • 準則: 具有極嚴格安全性環境的組織通常會啟用此設定。

在以程式方式啟動的應用程式中變更 Office 2016 VBA 巨集的行為

Office 2016 提供一項設定,讓您在透過 Automation 利用程式設計方式啟動的應用程式中變更 VBA 巨集的行為。 根據預設,當使用另一個程式利用程式設計方式啟動 Excel 2016、PowerPoint 2016 或 Word 2016 時,在利用程式設計方式啟動的應用程式中可以執行任何巨集。 如果您要執行下列工作,請使用這些指導方針來判斷如何設定此設定:

  • 在透過 Automation 利用程式設計方式啟動的應用程式中防止巨集執行。

  • 針對透過 Automation 利用程式設計方式啟動的應用程式,允許根據設定的 VBA 巨集安全性設定來執行 VBA 巨集。

群組原則設定名稱: 自動安全性

  • 描述: 此設定可控制應用程式在以程式設計方式由另一個應用程式開啟時,是否可以執行宏。 此設定是通用設定,適用於 Excel 2016、PowerPoint 2016 及 Word 2016。 您無法針對個別應用程式進行此設定。 此設定有三種選項供您選擇:

    • 根據預設停用巨集 在利用程式設計方式開啟的應用程式中會停用所有巨集。

    • 已啟用巨集 (預設) 在利用程式設計方式開啟的應用程式中允許執行巨集。 此選項會強制執行預設設定。

    • 使用應用程式巨集安全性層級 根據您如何為每一個應用程式設定 [VBA 巨集警告設定] 來決定巨集功能。

  • 影響: 如果您啟用此設定並選取 [ 預設停用宏 ] 選項,則宏不在以程式設計方式啟動的應用程式中。 如果以程式設計方式啟動的應用程式會開啟檔或包含宏的範本,則這項限制可能會有問題。 在這種情況下,無法使用宏所提供的功能。 如果您選取 [ 使用應用程式宏安全性層級 ] 選項,並使用 VBA 宏警告設定停用宏,可能會發生類似的問題。

  • 準則: 大多數組織會啟用此設定,且會選取 [使用應用程式巨集安全性層級] 選項。 但是,具有極嚴格安全性環境的組織通常會啟用此設定,且會選取 [根據預設停用巨集] 選項。

在 Office 2016 中變更掃描加密 VBA 巨集是否有病毒的方式

Office 2016 包含一項設定,可讓您修改防病毒軟體如何掃描 Excel 2016、PowerPoint 2016 和 Word 2016 中的加密 VBA 宏。 根據預設,如果文件、簡報或活頁簿已加密且包含 VBA 巨集,則除非用戶端電腦上已安裝防毒軟體,否則會停用 VBA 巨集。 此外,當使用者開啟包含加密宏的檔時,用戶端計算機的防病毒軟體會掃描加密的 VBA 宏。 如果您要執行下列其中一項工作,請使用這些指導方針來判斷如何設定此設定:

  • 將防病毒軟體設定為不掃描,並允許執行所有加密的 VBA 宏。

  • 如果已安裝防毒軟體,則掃描加密的 VBA 巨集,但如果未安裝防毒軟體,則啟用加密的 VBA 巨集。

群組原則設定名稱: 掃描 Excel Open XML 文件的加密巨集、掃描 PowerPoint Open XML 文件的加密巨集、掃描 Word Open XML 文件的加密巨集

  • 描述: 此設定控制對加密 VBA 巨集進行病毒掃描的方式。 此設定可針對個別應用程式為 Excel 2016、PowerPoint 2016 及 Word 2016 來分別設定。 此設定有三個選項供您選擇:

    • 掃描加密的巨集 (預設) 除非防病毒軟體掃描所有加密的 VBA 宏,否則會停用這些宏。 此選項會強制執行預設設定。

    • 掃描防病毒軟體是否可用 除非防病毒軟體掃描加密的 VBA 宏,否則會停用它們。 不過,如果用戶端電腦上未安裝防毒軟體,則會啟用所有加密的 VBA 巨集。

    • 載入巨集而不掃描 不論用戶端電腦上是否安裝防毒軟體,一律啟用且不掃描加密的 VBA 巨集。

  • 影響: 如果您啟用此設定並選取 [ 載入宏而不掃描 ] 選項,則未掃描病毒的加密宏可降低安全性。 如果用戶端電腦未安裝防毒軟體,且您啟用此設定並選取 [可使用防毒軟體時即掃描] 選項,則也會發生相同的狀況。

  • 準則: 大多數組織會使用此設定的預設設定,且不會變更此設定。

還有兩個設定會影響 VBA 巨集在 Office 2016 應用程式中的行為。 如果您因為有特殊的安全性環境而變更 VBA 宏設定,您可能會想要評估下列設定:

群組原則設定名稱: 信任存取 Visual Basic 專案

  • 描述: 此設定決定自動化用戶端是否可存取 VBA 專案。 此設定是針對個別應用程式可為 Excel 2016、PowerPoint 2016 及 Word 2016 來分別設定。

群組原則設定名稱: 停用安全性問題的所有信任列通知

  • 描述: 此設定會防止使用者看見訊息列警告,例如不安全 VBA 巨集的警告。 此全域設定適用於 Excel 2016、PowerPoint 2016和 Word 2016。 您無法針對個別應用程式來進行此設定。