Как скопировать указанное значение c из SAP в таблицу Excel с помощью Excel VBA - PullRequest
0 голосов
/ 18 февраля 2020

Screenshot

Как показано на рисунке, я хочу скопировать выбранную стоимость запаса материала в листе Excel из транзакции SAP "MMBE".

Если кто-то может помочь с синтаксисом Excel VBA скопировать выделенное значение в прикрепленной оснастке.

1 Ответ

0 голосов
/ 19 февраля 2020

Трудно предсказать номера и названия столбцов, хотя вы можете записать свой сценарий со сборкой в ​​регистраторе SAP и просто дважды щелкнуть по соответствующей ячейке, чтобы узнать, какие у нее индексы. Это будет становиться все более и более сложным, если ваши таблицы отличаются друг от друга. Сначала вам нужно получить интересующие вас имена столбцов, а затем сравнить их с ключами et c. Попробуйте использовать файл справки сценариев SAP gui, он находится прямо под пунктом меню «Сценарии и воспроизведение SAP».

Public SapGuiAuto
Public SetApp
Public Connection
Public session
Public theCell As String 'may be of anything else you need if casted properly

Sub example()

    Dim nameConstructor As String
    nameConstructor = "          "

    Set SapGuiAuto = GetObject("SAPGUI")
    Set SetApp = SapGuiAuto.GetScriptingEngine
    Set Connection = SetApp.Children(0)
    Set session = Connection.Children(0)

    theCell = session.findById("wnd[0]/usr/cntlCC_CONTAINER/shellcont/shell/shellcont[1]/shell[1]").GetItemText(nameConstructor & "6", "C" & nameConstructor & "1")
    MsgBox theCell
    Cells(1, 1) = theCell

End Sub
...