Создание папки на загруженных нескольких вложениях GOS из SAP - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь создать папку для загруженных файлов (электронная почта, PDF, изображение и т. Д. c ..) из SAP P31, используя tcode VA03. Иногда в каждом документе несколько файлов, и он загружает только один файл и сохраняется в папке SAP GUI. Следует сохранить все документы из каждого документа и переименовать папку с номером документа.

Исходный код:

Sub DownloadPO()
Set wshshell = CreateObject("WScript.Shell")
   Set SapGuiAuto = GetObject("SAPGUI")
   Set Applic = SapGuiAuto.GetScriptingEngine
   Set Connection = Applic.Children(0)
   Set session = Connection.Children(0)



If Not IsObject(Application) Then
   Set SapGuiAuto = GetObject("SAPGUI")

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

last_row = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
po_list = Sheet1.Range("A2:A" & last_row).Value

For po = 1 To UBound(po_list)
    po_number = po_list(po, 1)



    session.findById("wnd[0]").maximize
    session.findById("wnd[0]/tbar[0]/okcd").Text = "/Nva03"
    session.findById("wnd[0]").sendVKey 0
    'session.findById("wnd[0]/usr/ctxtVBAK-VBELN").Text = "75074271"
    session.findById("wnd[0]/usr/ctxtVBAK-VBELN").Text = po_number

    session.findById("wnd[0]").sendVKey 0
    session.findById("wnd[0]").sendVKey 0
    session.findById("wnd[0]/titl/shellcont/shell").pressContextButton "%GOS_TOOLBOX"
    session.findById("wnd[0]/titl/shellcont/shell").selectContextMenuItem "%GOS_VIEW_ATTA"
    session.findById("wnd[1]/usr/cntlCONTAINER_0100/shellcont/shell").currentCellColumn = "BITM_DESCR"
    session.findById("wnd[1]/usr/cntlCONTAINER_0100/shellcont/shell").SelectAll
    session.findById("wnd[1]/usr/cntlCONTAINER_0100/shellcont/shell").pressToolbarButton "%ATTA_EXPORT"
    session.findById("wnd[1]/tbar[0]/btn[11]").press
    session.findById("wnd[1]").sendVKey 12
    session.findById("wnd[0]").sendVKey 12
    session.findById("wnd[0]").sendVKey 12





Next

End Sub

Лист Excel

https://drive.google.com/open?id=1W5sy8q4WH8GmtzoGUrxJ5bF_3vsbViEE

Технические характеристики системы Windows: 10

Excel: 2010

VBA: 7,1

SAP: 731

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