Таблица подсчитывает количество копий в Excel - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь получить количество таблиц из таблицы и какие столбцы доступны в каждой таблице. Эту информацию мне нужно получить в таблице Excel с названием таблицы, счетчиками, названиями полей. Я создал сценарий VBA. У меня не так много доступа к SAP GUI. Я запускаю SE16, чтобы получить счет в таблице. Ниже приведен сгенерированный сценарий.

Очень сложно проводить подсчеты один за другим, входя в таблицу и считая подсчеты.

Я ищу что-нибудь, чтобы передать имена таблиц как файл в SAP GUI и выводит результаты в виде файла, содержащего «имя таблицы», «количество», «имена полей».

Приведенный ниже код выполняет вход, запускает SE16, входит в таблицу QPRS, нажмите Enter, а затем кнопку Ctrl + F7 , чтобы отобразить количество записей в таблице, и сделайте то же самое для следующих таблиц, TQ43, TQ43T, TQ45 и TQ45T.

If Not IsObject(application) Then
    Set SapGuiAuto  = GetObject("SAPGUI")
    Set application = SapGuiAuto.GetScriptingEngine
End If

If Not IsObject(connection) Then
    Set connection = application.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 application, "on"
End If

session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/txtRSYST-MANDT").text = "900"
session.findById("wnd[0]/usr/txtRSYST-BNAME").text = "12345"
session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = "*****"
session.findById("wnd[0]/usr/pwdRSYST-BCODE").setFocus
session.findById("wnd[0]/usr/pwdRSYST-BCODE").caretPosition = 12
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[0]/okcd").text = "/nse16"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "QPRS"
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 4
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[31]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/okcd").text = "/nse16"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "TQ43"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[31]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/okcd").text = "/nse16"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "TQ43T"
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 5 
session.findById("wnd[0]").sendVKey 0 
session.findById("wnd[0]/tbar[1]/btn[31]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/okcd").text = "/nse16"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "TQ45"
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 4 
session.findById("wnd[0]").sendVKey 0 
session.findById("wnd[0]/tbar[1]/btn[31]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/tbar[0]/okcd").text = "/nse16"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").text = "TQ45T"
session.findById("wnd[0]/usr/ctxtDATABROWSE-TABLENAME").caretPosition = 5 
session.findById("wnd[0]").sendVKey 0 
session.findById("wnd[0]/tbar[1]/btn[31]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...