Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA-防止Excel 2007显示已定义名称消息框?_Vba_Excel - Fatal编程技术网

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

VBA-防止Excel 2007显示已定义名称消息框?,vba,excel,Vba,Excel,我正在处理一个Excel 2007工作簿,该工作簿将包含一个宏,用于将当前工作表(模板)另存为 PDF文件(没问题) Excel 97-2003文件(问题) 保存Excel文件时,会出现一个消息框,询问 “此工作簿中定义的公式名称在重新计算时可能会显示不同的值……是否希望Excel在打开此工作簿时重新计算所有公式?” 然后用户可以选择是/否,然后文件将保存 如何禁用messagebox的显示? 默认答案是“否” 我的储蓄计划: Sub saveAs_97_2003_Workbook(tempFi

我正在处理一个Excel 2007工作簿,该工作簿将包含一个宏,用于将当前工作表(模板)另存为

  • PDF文件(没问题)
  • Excel 97-2003文件(问题)
  • 保存Excel文件时,会出现一个消息框,询问

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

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

    如何禁用messagebox的显示?
    默认答案是“否”

    我的储蓄计划:

    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
    

    试着把这句话放在后面,结尾是:

    Application.DisplayAlerts = False
    
    With Destwb
        ...
    End With
    
    Application.DisplayAlerts = True
    

    应禁止显示该消息,但不确定该消息是否符合您的默认方式。

    似乎工作正常-似乎选择了“是”作为默认值,但生成的保存文件看起来正常。