Как копировать и вставлять данные из SAP в Excel? - PullRequest
0 голосов
/ 28 мая 2019

Я сохранил свой скрипт и подключил его к VBA, затем я хочу скопировать свои локальные данные SAP во внешний файл Excel.

 Sub FOS()
 If Not IsObject(App) Then
 Set SapGuiAuto = GetObject("SAPGUI")
 Set App = SapGuiAuto.GetScriptingEngine
 End If
 ...
 session.findById("wnd[0]").maximize
 session.findById("wnd[0]/tbar[0]/okcd").Text = "S_ALR_87011964"
 ...
 session.findById("wnd[0]/tbar[1]/btn[19]").press
 session.findById("wnd[0]/usr/chkPA_XGBAF").Selected = True
 session.findById("wnd[0]/usr/chkPA_XGBAF").SetFocus
 session.findById("wnd[0]/tbar[1]/btn[8]").press

 End Sub()

Я хочу автоматизировать извлечение и, таким образом, скопировать мои данные и перенести их в очень специфический файл Excel благодаря макросу VBA.

1 Ответ

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

Когда был выбран ALV Grid Control, вы можете попробовать следующее:

, например:

...
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[31]").press

'for the German SAP version
'SAP_Workbook = "Tabelle von ALV (1)"

'for the English SAP version (?)
SAP_Workbook = "Worksheet in ALVXXL01 (1)"

EXCEL_Path = "c:\tmp\"
myWorkbook = "Report.xlsx"

Set xclwbk = Application.Workbooks.Item(SAP_Workbook)

Application.Visible = True
Application.DisplayAlerts = False

xclwbk.SaveAs Filename:=EXCEL_Path & myWorkbook, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Set xclwbk = Nothing
'Application.Wait (Now + TimeValue("0:00:02"))
session.findById("wnd[0]/tbar[0]/btn[3]").press
Application.DisplayAlerts = True
...
End Sub

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...