cancel
Showing results for 
Search instead for 
Did you mean: 

Insert VBA code in a SAP script

0 Kudos

Hi,

I have a question if possible to insert VBA code that will copy data in range A:A(from book1 file) to this script. Data in range A are material codes in thousands. So that SAP will execute the query automatically.

Thank you and have a nice day.

SAP SCRIPT HERE:

If Not IsObject(SAPguiApp) Then
Set SAPguApp = CreateObject("Sapgui.ScriptingCtrl.1")
End If
If Not IsObject(Connection) Then
Set Connection = SAPguiApp.OpenConnection("A6P(HK/TW) - SSO", True)
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]").resizeWorkingPane 105,29,false

session.findById("wnd[0]/tbar[0]/okcd").text = "zse16"

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/ctxtI_TABLE").text = "marc"

session.findById("wnd[0]/usr/ctxtI_TABLE").caretPosition = 4

session.findById("wnd[0]").sendVKey 8

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

session.findById("wnd[1]/usr/txtV-LOW").text = "marc dl"

session.findById("wnd[1]/usr/txtV-LOW").caretPosition = 4

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

VBA code here

session.findById("wnd[0]/usr/btn%_I1_%_APP_%-VALU_PUSH").press

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

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

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

session.findById("wnd[0]").sendVKey 33

session.findById("wnd[1]").sendVKey 14

session.findById("wnd[1]/usr/chk[1,4]").selected = true

session.findById("wnd[1]/usr/chk[1,5]").selected = true

session.findById("wnd[1]/usr/chk[1,6]").selected = true

session.findById("wnd[1]/usr/chk[1,6]").setFocus

session.findById("wnd[1]").sendVKey 0

session.findById("wnd[0]/tbar[0]/okcd").text = "%pc"

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select

session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").setFocus

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

session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "a6p.xls"

session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 7

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Harris,

Check the example below solves. Give me a return.

Best Regards.

Jerônimo.

---- ***** ----

Sub HarrisCastro()

On Error Resume Next

If Not IsObject(SAPguiApp) Then

Set SAPguApp = CreateObject("Sapgui.ScriptingCtrl.1")

End If

If Not IsObject(Connection) Then

Set Connection = SAPguiApp.OpenConnection("A6P(HK/TW) - SSO", True)

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]").resizeWorkingPane 105, 29, False

session.findById("wnd[0]/tbar[0]/okcd").Text = "zse16"

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[0]/usr/ctxtI_TABLE").Text = "marc"

session.findById("wnd[0]/usr/ctxtI_TABLE").caretPosition = 4

session.findById("wnd[0]").sendVKey 8

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

session.findById("wnd[1]/usr/txtV-LOW").Text = "marc dl"

session.findById("wnd[1]/usr/txtV-LOW").caretPosition = 4

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

'VBA code here

'Example: Copy the specific region of the worksheet.

    Application.Workbooks("a6p.xls").Activate

    Sheets("Plan1").Select

    Range("A1:A1000").Copy

session.findById("wnd[0]/usr/btn%_I1_%_APP_%-VALU_PUSH").press

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

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

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

'Example: Release the Windows clipboard.

    Application.CutCopyMode = False

session.findById("wnd[0]").sendVKey 33

session.findById("wnd[1]").sendVKey 14

session.findById("wnd[1]/usr/chk[1,4]").Selected = True

session.findById("wnd[1]/usr/chk[1,5]").Selected = True

session.findById("wnd[1]/usr/chk[1,6]").Selected = True

session.findById("wnd[1]/usr/chk[1,6]").SetFocus

session.findById("wnd[1]").sendVKey 0

session.findById("wnd[0]/tbar[0]/okcd").Text = "%pc"

session.findById("wnd[0]").sendVKey 0

session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").Select

session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").SetFocus

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

session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "a6p.xls"

session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 7

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

End Sub

0 Kudos

Thanks Jeronimo its working

Answers (0)