在SAP的“多个选择”屏幕中加载值

时间:2016-02-26 10:56:55

标签: vbscript sap sapscript

尝试使用 SAP-Gui Scripting 自动化流程,其中需要在SAP的多选屏幕中粘贴多个值。

enter image description here

我将无法使用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个此类订单项和循环它们使脚本运行很长时间。

2 个答案:

答案 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