Python SaveAs始终覆盖现有文件

Python SaveAs始终覆盖现有文件,python,excel,com,activex,excel-2013,Python,Excel,Com,Activex,Excel 2013,我正在尝试使用Excel 2013 com界面来使用SaveAs函数。除了每个SaveAs操作都将覆盖现有文件之外,其他操作都运行得很好 相关问题: 以下是我实例化Excel的方式: import win32com.client excel = win32com.client.gencache.EnsureDispatch('Excel.Application') excel.Visible = 1 wb = excel.Workbooks.Open('D:\\somefileXYZ.xls')

我正在尝试使用Excel 2013 com界面来使用SaveAs函数。除了每个SaveAs操作都将覆盖现有文件之外,其他操作都运行得很好

相关问题:

以下是我实例化Excel的方式:

import win32com.client
excel = win32com.client.gencache.EnsureDispatch('Excel.Application')
excel.Visible = 1
wb = excel.Workbooks.Open('D:\\somefileXYZ.xls')
excel.DisplayAlerts = False
文件“D:\somefile.xls”已存在

使用Microsoft软件时,它应该是这样工作的:

wb.SaveAs('D:\\test.xls', win32com.client.constants.xlWorkbookNormal, \
                            None, None, False, False, win32com.client.constants.xlNoChange, \
                            win32com.client.constants.xlOtherSessionChanges)
但它只是覆盖了现有的文件

wb.SaveAs('D:\\test.xls')
使用它会抛出一个异常,但这也会覆盖现有文件

wb.SaveAs('D:\\test.xls')
如果删除此行,excel.DisplayAlerts=False excel会询问我是否要覆盖现有文件。但我想自动完成


我在另一台使用Excel 2007的计算机上也做了同样的操作,一切正常。

这可能不是您想要的,但您可以在保存之前使用os.path.isfileinput\u file\u路径来查看文件是否已经存在。我可以这样做,但如果工作簿是给定的文件,并且没有任何内容被覆盖,我希望保存该文件。