SaveAs总是覆盖现有文件

时间:2015-10-07 12:27:12

标签: python excel com activex excel-2013

我正在尝试使用Excel 2013 com界面来使用SaveAs功能。除了每个SaveAs操作都会覆盖现有文件之外,一切都运行良好。

相关问题:

Python and Excel: Overwriting an existing file always prompts, despite XlSaveConflictResolution value

Why can't I “save as” an Excel file from my Python code?

这是我实例化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 reference它应该像这样工作:

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')

如果我删除此行excel.DisplayAlerts = False Excel询问我是否要覆盖现有文件。但我想自动完成。

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

0 个答案:

没有答案