2013-10-11 57 views
3

如何禁止顯示「如果將文件保存爲文件時將刪除Visual Basic宏的對話框這種格式,你確定要使用這種格式嗎?「 (見下圖)。使用VBA將包含Excel文件(.xlsm)的宏保存爲包含非宏的文件(.xlsx)時禁止對話框

本質上,我試圖使用一個宏來將.xlsm文件保存爲.xslx文件。我已經嘗試了所有可以找到的對話框抑制代碼,但它不起作用。

這裏是我的代碼:

Private Sub SaveWithNoMacros() 
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 
    Application.EnableEvents = False 
    ActiveWorkbook.SaveAs Filename:="Clean Workbook With No Macros.xlsx", _ 
     FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
    Application.EnableEvents = True 
    Application.DisplayAlerts = True 
    Application.ScreenUpdating = True 
End Sub 

這裏的對話框:

Excel Dialog

正如你可能想象,我需要轉換大量的工作簿,並且不希望手動執行此操作。

-D。

+0

做任何的答案[這裏]的(http://stackoverflow.com/q/18899824/1048539)的工作?我最近的情況非常相似。它可能是操作系統:X處理與displayalerts的窗口不同。 – enderland

+0

@enderland,好建議。沒有想過將工作表複製到新的/乾淨的工作簿,然後保存。這有點破解,但我可能只是實現它。再次感謝。 –

回答

6

Application.DisplayAlerts = False是禁用此對話框的正確語句。但是,正如你所經歷的那樣,這在Excel 2011中不起作用。遺憾的是,當你使用Excel 2011時沒有辦法解決這個問題。如果你使用任何其他版本(在PC上),它將會工作得很好。

+0

謝謝!至少我知道它應該起作用。 –

+0

我可能應該在我原來的問題中提到我正在使用Mac(Excel 2011)。 –

4

這爲我工作

保存類型:(選擇=>)的Excel啓用宏的工作簿(* .XLSM)

+0

在OS X上很有魅力,謝謝! – LearnCocos2D