我遇到了一个我无法擅长文件的问题。
我使用的是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
答案 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