我如何使用 pywinauto 关闭 Excel 文件
How could I close Excel file using pywinauto
我遇到无法 excel 文件的问题。
我用的是 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
为什么使用app.XLMAIN
? window的标题和XLMAIN
相似吗?通常标题是 <file name> - Excel
以便 pywinauto 可以这样处理:xlmain = app["<file name> - Excel"]
.
显然 Wait('ready')
引发了异常,因为未找到标题为 "XLMAIN"
或类似内容的 window。
一般来说,我建议使用 pyWin32 标准模块 win32com.client
与 Excel 一起工作(通过标准 COM 接口)。例如,请参阅此处的第二个答案:Driving Excel from Python in Windows
我遇到无法 excel 文件的问题。
我用的是 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
为什么使用app.XLMAIN
? window的标题和XLMAIN
相似吗?通常标题是 <file name> - Excel
以便 pywinauto 可以这样处理:xlmain = app["<file name> - Excel"]
.
显然 Wait('ready')
引发了异常,因为未找到标题为 "XLMAIN"
或类似内容的 window。
一般来说,我建议使用 pyWin32 标准模块 win32com.client
与 Excel 一起工作(通过标准 COM 接口)。例如,请参阅此处的第二个答案:Driving Excel from Python in Windows