0

所以我使用 SAP GUI 记录器录制了一个脚本。我基本上只是运行 7 个报告并将内容保存到一个 excel 文件中。该代码是平淡无奇的,只是一些变化。

session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "SAP_ALL.TXT" session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 11

但有时报告中没有记录。

  1. 我怀疑我可以检查一些东西来保存报告或继续使用if/then/else,但找不到一个很好的例子。我如何捕捉并从这个或其他错误中恢复?
  2. 有没有办法来sapshcut构造脚本以避免这个问题?
  3. 另外,有没有办法从命令行执行脚本,将用户名和密码作为参数传递?

欢迎提供相关示例。我会使用 RTFM,但我没有。

4

1 回答 1

0
  1. 如果报告是网格,那么您可以尝试以下操作。

例如:

...
session.findById("wnd[0]/tbar[1]/btn[8]").press
on error resume next
'This command must be recorded once in your environment. It's a   mouseclick in the first line.
session.findById("wnd[0]/usr  /subSUB_AREA_ROOT:SAPLREIS_GUI_CONTROLLER:0200/subSUB_AREA:SAPLREIS_GUI_CONTROLLER:1000/cntlCC_LIST/shellcont/shell").currentCellRow = 1
if err.number = 0 then
   on error goto 0
   ...
   session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "SAP_ALL.TXT"
   session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 11
   ...
else
   on error goto 0
   ...
end if
...
  1. 请查看以下链接:

VBA 2010 - 使用 .iconify 隐藏所有 SAP 窗口

问候, ScriptMan

于 2018-03-23T08:45:23.340 回答