我有一個主工作簿從其他工作簿工作表中提取數據,然後關閉修改後的工作簿,禁止保存選項。運行宏時VBA工作簿Savechanges = False仍然保存並關閉工作簿
other_wb.Close的SaveChanges =假
但是運行宏,或通過在調試模式下調用此函數步進時仍保存文件。有沒有另一種方式關閉而不儲蓄?這種行爲有沒有解釋?
如果需要,我可以提供更多信息。
我有一個主工作簿從其他工作簿工作表中提取數據,然後關閉修改後的工作簿,禁止保存選項。運行宏時VBA工作簿Savechanges = False仍然保存並關閉工作簿
other_wb.Close的SaveChanges =假
但是運行宏,或通過在調試模式下調用此函數步進時仍保存文件。有沒有另一種方式關閉而不儲蓄?這種行爲有沒有解釋?
如果需要,我可以提供更多信息。
Savechanges
是一個未定義的變量。因此,Empty
; Empty
是虛假的,所以表達式Savechanges = False
的計算結果爲True
,因此該呼叫變爲other_wb.Close True
,該文件保存該文件。
你缺少冒號:
other_wb.Close Savechanges:= False
把Option Explicit
你的所有代碼模塊的頂部從來沒有處理這種問題。
你是說Savechanges = False評估Nothing = False - > True? – BDillan
不,我說它評估'Empty = False' =>'True'。 – GSerg
@GSerg斑點! – StevenWalker
請提供更多的代碼。具體如何設置'other_wb' –
@GSerg實際上解釋了它,我提供了所有我需要的信息 – BDillan
請不要對Excel/VBA問題使用[宏]標記。它的標籤信息說:*不適用於MS-OFFICE/VBA /宏語言。改爲使用各自的標籤。*' –