我正在尝试使用Excel 2013 com界面来使用SaveAs功能。除了每个SaveAs操作都会覆盖现有文件之外,一切都运行良好。
相关问题:
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的计算机上做了同样的事情,一切正常。