【发布时间】:2019-10-22 18:58:35
【问题描述】:
我需要能够通过脚本激活一个窗口(使其成为前景窗口并为其提供操作焦点)。我使用 Python 脚本自动执行 SAP。对于此模块,SAP 不会为文件执行典型的文件名和位置,而是将其输出到 Excel 中。我想将屏幕从 SAP 转移到 excel 文件,然后将其保存到一个路径和某个名称。然后我可以使用脚本的其余部分从我保存的位置操作文件。
我曾尝试使用 win32.com 客户端并查看了许多有关 SAP 和 Python 的论坛,但没有显示激活转换是如何从 SAP 到 excel 完成的。
SAP = win32com.client.GetObject('SAPGUI').GetScriptingEngine
print "T-CODE SECTION CLEAR"
session = SAP.FindByID('ses[0]')
print "T-CODE SECTION CLEAR"
xlapp = win32com.client.Dispatch("Excel.Application")
##START IP24 TRANSACTIONS
session.StartTransaction(Transaction="IP24")
print "T-CODE SECTION CLEAR"
session.findById("wnd[0]/usr/ctxtEQUNR-LOW").text = "fcsmon*"
session.findById("wnd[0]/usr/ctxtIWERK-LOW").text = "2206"
session.findById("wnd[0]").sendVKey (8)
session.findById("wnd[0]/tbar[1]/btn[8]").press()
session.findById("wnd[0]/mbar/menu[0]/menu[5]").select()
session.findById("wnd[1]/tbar[0]/btn[0]").press()
session.findById("wnd[1]/tbar[0]/btn[0]").press()
session.findById("wnd[1]/tbar[0]/btn[0]").press()
在这些崩溃后我输入的所有行都导致无法识别代码。
【问题讨论】:
-
我认为这样的解决方案永远不会正常工作。您无法控制第三方软件。它适用于用户 A 一周,但不适用于用户 B、C ...(其他 PC、其他配置)。下个月 Windows 发布了一个更新,Excel 行为发生了变化,它再也不能工作了......你会遇到麻烦,因为用户会说“我什么都没做。上周它工作正常。”
-
我不一定不同意,但如果有办法使用 python 将焦点转移到活动窗口上,我用 SAP 启动它,但如何转移到 Excel 文件。