如何隱藏 [儲存變更] 提示,當您關閉 Excel 活頁簿中


摘要


在 [Microsoft Excel 中,您可以建立隱藏的 [儲存變更] 提示,當您關閉活頁簿時 (VBA) 巨集的 Microsoft Visual Basic for Applications。您可以藉由指定活頁簿的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 中,按一下 [附註開發人員] 索引標籤上的程式碼群組中 [巨集,如果無法使用 [開發人員] 索引標籤,請考慮下列步驟:
    1. 按一下 [Microsoft Office 按鈕],然後按一下 [Excel 選項]
    2. 在 [常用] 類別中,在使用 Excel 最常用的選項] 下按一下以選取 [在功能區顯示 [開發人員] 索引標籤] 核取方塊,然後按一下[確定]
  7. 選取想要的話,該巨集,然後按一下執行
如果您已做變更至活頁簿自上次儲存的Saved屬性會傳回False值。您可以使用保留的副程式名稱"Auto_Close",來指定應該在每次關閉的活頁簿時所執行的巨集。如此一來,您可以控制當使用者完成並已指示 Excel 在關閉文件要如何處理文件。

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

若要強制關閉而不儲存任何變更的活頁簿,請在該活頁簿的 Visual Basic 模組中輸入下列程式碼:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
因為Saved屬性設定為True時,Excel 會回應,就好像已經儲存活頁簿,以及上次儲存後發生任何變更。程式的 [ DisplayAlerts ] 屬性可以用於相同的目的。例如,下列巨集會關閉DisplayAlerts 、 關閉現用活頁簿,而不儲存變更,然後開啟DisplayAlerts的。
Sub CloseBook()    Application.DisplayAlerts = False    ActiveWorkbook.Close    Application.DisplayAlerts = TrueEnd Sub
您也可以使用Close方法的SaveChanges引數。下列巨集會關閉活頁簿,而不儲存變更:
Sub CloseBook2()    ActiveWorkbook.Close savechanges:=FalseEnd Sub

範例 2: 關閉活頁簿,並儲存所做的變更

若要強制以儲存變更的活頁簿,請在該活頁簿的 Visual Basic 模組中輸入下列程式碼:
Sub Auto_Close()    If ThisWorkbook.Saved = False Then        ThisWorkbook.Save    End IfEnd Sub
這個子程序會檢查是否要將檔案的Saved屬性設定為False。如果是的話,從上次儲存中之後, 已經變更活頁簿,並儲存變更。