使用VBA将包含Excel文件(.xlsm)的宏保存为包含非宏的文件(.xlsx)时,禁止使用对话框

时间:2013-10-11 22:15:09

标签: macos vba xlsx xlsm

如何禁止显示“如果以此格式保存文件,将删除Visual Basic宏的对话框。您确定要使用此格式吗?” (见下图)。

基本上,我正在尝试使用宏来将.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。

2 个答案:

答案 0 :(得分:7)

Application.DisplayAlerts = False是禁用此对话框的正确语句。但是,正如您所经历的那样,这在Excel 2011上不起作用。遗憾的是,当您使用Excel 2011时,没有办法解决这个问题。如果您使用任何其他版本(在PC上)它可以正常工作。< / p>

答案 1 :(得分:4)

这对我有用

另存为类型:(选择=&gt;)Excel启用宏的工作簿(* .xlsm)