我怎么能用pywinauto关闭Excel文件

时间:2016-09-22 02:31:35

标签: python excel pywinauto

我遇到了一个我无法擅长文件的问题。

我使用的是swapy + pywinauto 程序导出具有不同名称的excel文件(例如时间..) 我使用swapy来关闭导出excel。

from pywinauto.application import Application
app = Application().Start(cmd_line=u'"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE" \\dde')
xlmain = app.XLMAIN
xlmain.Wait('ready')
xlmain.Close()
app.Kill_()

但是下面有错误。

Traceback (most recent call last):


 File "D:/23007.py", line 54, in <module>
xlmain.Wait('ready')

WaitUntil(timeout, retry_interval, lambda: self.__check_all_conditions(check_method_names))


File "C:\Python35\lib\site-packages\pywinauto\timings.py", line 308, in WaitUntil
raise err

pywinauto.timings.TimeoutError: timed out

Process finished with exit code 1

enter image description here

1 个答案:

答案 0 :(得分:1)

为什么使用app.XLMAIN?窗口的标题是否与XLMAIN类似?通常标题为<file name> - Excel,以便pywinauto可以处理它:xlmain = app["<file name> - Excel"]

显然Wait('ready')引发了异常,因为找不到标题为"XLMAIN"或类似的窗口。

通常我建议使用pyWin32标准模块win32com.client来使用Excel(通过标准COM接口)。请参阅此处的第二个答案,例如:Driving Excel from Python in Windows