Applies ToExcel 2007

摘要

在 Microsoft Excel 中,您可以建立 Microsoft Visual Basic for Applications (VBA) 巨集,在您關閉活頁簿時隱藏 [ 儲存變更] 提示。 這可以藉由指定活頁簿 Saved 屬性的狀態,或隱藏活頁簿的所有警示來完成。

更多資訊

注意事項:Microsoft 僅提供圖例的程式設計範例,不含明示或暗示的擔保。 這包括 (但不限於) 適用于特定目的之可操作性或適用性的暗示擔保。 本文假設您熟悉正在示範的程式設計語言,以及用來建立和進行程式偵錯工具的工具。 Microsoft 支援工程師可以協助說明特定程式的功能。 不過,他們將不會修改這些範例以提供新增功能或建構符合您特定需求的程式。 若要準備實作下列其中一個範例,請先執行下列步驟:

  1. 啟動 Excel 並開啟新的活頁簿。

  2. 按 ALT+F11 以啟動 Visual Basic 編輯器。

  3. 在 [插入] 功能表上,按兩下 [模組]

  4. 在模組工作表中輸入範例巨集程序代碼。

  5. 按 ALT+F11 返回 Excel。

  6. 在 Microsoft Office Excel 2003 和舊版 Excel 中,從 [工具] 功能表中選擇 [巨集],然後按兩下 [巨集]在 Microsoft Office Excel 2007 中,按兩下 [開發人員] 索引標籤上 [程序代碼] 群組中的 [巨集]。 如果 [開發人員] 索引標籤無法使用,請考慮執行下列動作:     一個。 按兩下 [Microsoft Office 按鈕],然後按兩下 [Excel 選項]b. 在 [熱門] 類別的 [使用 Excel 的最佳選項] 底下,按下以選取 [顯示]         [功能區] 複選框中的 [開發人員] 索引標籤,然後按兩下 [確定]

  7. 選取您要的巨集,然後按兩下 [執行]

如果活頁簿自上次儲存后已進行變更,Saved 屬性會傳回 False 值。您可以使用保留的子規則名稱 Auto_Close 指定在關閉活頁簿時應執行的巨集。 如此一來,您可以控制使用者關閉 Excel 檔時處理檔的方式。  

範例 1:關閉活頁簿而不儲存變更

若要強制關閉活頁簿而不儲存任何變更,請在該活頁簿的 Visual Basic 模組中輸入下列程式代碼:  

    子Auto_Close ()

        ThisWorkbook.Saved = True

    End Sub

Saved 屬性設為 True 時,Excel 會回應,就好像活頁簿已經儲存,而且自上次儲存後沒有任何變更。程式的 DisplayAlerts 屬性可用於相同的用途。 例如,下列巨集會關閉 DisplayAlerts,關閉使用中的活頁簿而不儲存變更,然後再次開啟 DisplayAlerts  

    Sub CloseBook ()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

您也可以使用 Close 方法的 SaveChanges 自變數。下列巨集會關閉活頁簿而不儲存變更:  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

範例 2:關閉活頁簿並儲存變更

若要強制活頁簿儲存變更,請在該活頁簿的 Visual Basic 模組中輸入下列程式代碼:  

    子Auto_Close ()

        如果 ThisWorkbook.saved = False Then

            ThisWorkbook.Save End If

    End Sub

此子程式會檢查檔案 Saved 屬性是否已設為 False。 若是如此,自上次儲存后,活頁簿便已變更,並儲存這些變更。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。