VBA - 防止Excel 2007显示已定义的名称消息框?

时间:2010-05-05 14:36:39

标签: vba excel-vba excel

我正在使用Excel 2007工作簿,该工作簿将包含一个宏以将当前工作表(模板)保存为

  1. PDF文件(没问题)
  2. Excel 97-2003文件(问题)
  3. 保存Excel文件时,会出现一个询问

    的消息框

    “此工作簿中公式的定义名称在重新计算时可能会显示不同的值...您是否希望Excel在打开此工作簿时重新计算所有公式?”。

    然后,用户可以选择是/否,然后文件将保存。

    如何禁止显示消息框?
    默认答案是“否”。

    我的code用于保存:

    Sub saveAs_97_2003_Workbook(tempFilePath As String, tempFileName As String)
        Dim Destwb As Workbook
        Dim SaveFormat As Long
    
        'Remember the users setting
        SaveFormat = Application.DefaultSaveFormat
        'Set it to the 97-2003 file format
        Application.DefaultSaveFormat = 56
    
        ActiveSheet.Copy
        Set Destwb = ActiveWorkbook
        Destwb.CheckCompatibility = False
    
        With Destwb
            .SaveAs tempFilePath & tempFileName & ".xls", FileFormat:=56
            .Close SaveChanges:=False
        End With
    
        'Set DefaultSaveFormat back to the users setting
        Application.DefaultSaveFormat = SaveFormat
    End Sub
    

1 个答案:

答案 0 :(得分:2)

尝试将其放在With,End With:

Application.DisplayAlerts = False

With Destwb
    ...
End With

Application.DisplayAlerts = True

应该取消消息,但不确定它是否会以您想要的方式默认。