1

尝试使用SAP-Gui 脚本自动化流程,其中需要在 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 个这样的行项目并循环它们使脚本运行很长时间。

4

2 回答 2

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
于 2016-03-04T08:56:29.567 回答
0

该问题的解决方案在于 SAP GUI 脚本的设置。应该禁用/停用所有三个选项以供选择。尤其是“Microsoft Windows 对话框显示”。然后您还可以录制按钮 23 并关闭按钮 24。

PS “CopyText”命令来自 GuiXT,不能在 VB 脚本中轻松应用。

问候, ScriptMan

于 2016-03-01T10:28:39.837 回答