запись и воспроизведение сценария, и превосходят - PullRequest
0 голосов
/ 17 мая 2019

Я хочу автоматизировать транзакцию в SAP, используя скрипт воспроизведения.Я записываю транзакцию, а затем экспортирую ее в «отлично», оставаясь на SAP, она отлично работает.(это значок Microsoft Excel, Ctrl + Shift + F7 ), это значок с листом Excel и зеленым крестом на нем.

Когда я открываю свой скрипт и выполняю его, сам скрипт работает, экспорт работает, но нет данных, когда он существовал, когда я выполнял транзакцию вручную.Я не понимаю почему.

Это происходит в SAP GUI.

  If Not IsObject(App) Then
  Set SapGuiAuto = GetObject("SAPGUI")
    Set App = SapGuiAuto.GetScriptingEngine
   End If
  If Not IsObject(Connection) Then
  Set Connection = App.Children(0)
   End If
   If Not IsObject(session) Then
   Set session = Connection.Children(0)
    End If
    If IsObject(WScript) Then
    WScript.ConnectObject session, "on"
    WScript.ConnectObject App, "on"
     End If
    session.findById("wnd[0]").maximize
     session.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87012284"
       .......
      session.findById("wnd[0]/usr/cntlGRID1/shellcont/
        shell/shellcont[1]/shell[1]").setDocument 1, ""

Когда я смотрю на лист Excel в SAP, я вижу, что "/" и лист называется "~ SAP {7BD014FE-F4CF-49DA-AAD5-FD"

И все же, когда я делаю это вручную, я вижу все свои данные.

1 Ответ

0 голосов
/ 20 мая 2019

Пожалуйста, деактивируйте последнюю команду, и она должна работать снова.

 ...
 session.findById("wnd[0]").maximize
 session.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87012284"
 ...
 'session.findById("wnd[0]/usr/cntlGRID1/shellcont/
    shell/shellcont[1]/shell[1]").setDocument 1, ""

С уважением, ScriptMan

...