尝试使用 SAP-Gui Scripting 自动化流程,其中需要在SAP的多选屏幕中粘贴多个值。
我将无法使用paste from clipboard
,因为在执行此操作时,剪贴板内容将会更改。当我记录import from file
选项时,命令未被记录。有没有办法实现这个目标?
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nfs10n"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btn%_SO_BUKRS_%_APP_%-VALU_PUSH").press
' **The import from file command should go here.**
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
我尝试了CopyText
命令,但它没有按预期工作,但不确定原因。
Copytext fromFile="myfile.txt" toText="t1"
Copytext fromText="t1" -toclipboard
有没有办法实现这一点? 就像在使用剪贴板命令粘贴之前将文件读入剪贴板 ...目前大约有3000个此类订单项和循环它们使脚本运行很长时间。
答案 0 :(得分:0)
问题的解决方案在SAP GUI Scripting的设置中。应该禁用/停用所有三个选项。特别是“Microsoft Windows显示对话框”。然后,您还可以记录按钮23并关闭按钮24。
P.S。 “CopyText”命令来自GuiXT,无法在VB脚本中轻松应用。
此致 ScriptMan
答案 1 :(得分:0)
如果选择“显示Microsoft Windows的本机对话框”未激活,则脚本可能如下所示:
session.findById("wnd[0]/usr/btn%_S_RECNNR_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[23]").press
session.findById("wnd[2]/usr/ctxtDY_PATH").text = "z:\"
session.findById("wnd[2]/usr/ctxtDY_FILENAME").text = "test.txt"
session.findById("wnd[2]/usr/ctxtDY_FILENAME").caretPosition = 8
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press