It's been a while since I said hello.
I wanted to consult about this topic that I am seeing very recently that are the scripts to automate processes with SAp from Excel.
In particular I'm doing a script to generate dispatch guides from SAP. I already have a part (I create the guide), but there is a number that I can not copy, to be able to pass it to print. (The idea is to copy and paste it in a cell of my sheet from where I throw the macro, to go to the next step of printing. From the script recorder, it does not keep that step for me. I hope you can help me.
Sub creadorGD()
Dim application
Dim connection
Set objsheet = ActiveWorkbook.ActiveSheet
H = Range("B7")
sucursal = Range("C7")
'determina cecos y centros
If sucursal = "ARICA" Then
ceco = "11010180"
centro = "1010"
End If
If sucursal = "IQUIQUE" Then
ceco = "11010280"
centro = "1011"
End If
If sucursal = "CALAMA" Then
ceco = "11010480"
centro = "1013"
End If
If sucursal = "ANTOFAGASTA" Then
ceco = "11010380"
centro = "1012"
End If
If sucursal = "COPIAPO" Then
ceco = "11020180"
centro = "1020"
End If
If sucursal = "LASERENA" Then
ceco = "11020280"
centro = "1021"
End If
If sucursal = "PLACILLA" Then
ceco = "11020380"
centro = "1022"
End If
If sucursal = "LASCONDES" Then
ceco = "11080284"
centro = "1071"
End If
If sucursal = "CANTAGALLO" Then
ceco = "11080184"
centro = "1070"
End If
If sucursal = "LADEHESA" Then
ceco = "11080484"
centro = "1073"
End If
If sucursal = "MACKENNA" Then
ceco = "11070680"
centro = "1087"
End If
If sucursal = "SANBERNARDO" Then
ceco = "11070780"
centro = "1088"
End If
If sucursal = "SANTIAGO" Then
ceco = "11070186"
centro = "1081"
End If
If sucursal = "QUILICURA" Then
ceco = 11070280
centro = 1082
End If
If sucursal = "RANCAGUA" Then
ceco = "11030180"
centro = "1030"
End If
If sucursal = "CURICO" Then
ceco = "11030280"
centro = "1031"
End If
If sucursal = "TALCA" Then
ceco = "11030380"
centro = "1032"
End If
If sucursal = "CHILLAN" Then
ceco = "11040380"
centro = "1040"
End If
If sucursal = "CONCEPCIÓN" Then
ceco = "11040180"
centro = "1041"
End If
If sucursal = "LOSANGELES" Then
ceco = "11050180"
centro = "1050"
End If
If sucursal = "TEMUCO" Then
ceco = "11050280"
centro = "1051"
End If
If sucursal = "VALDIVIA" Then
ceco = "11050380"
centro = "1052"
End If
If sucursal = "OSORNO" Then
ceco = "11060180"
centro = "1060"
End If
If sucursal = "LLANQUIHUE" Then
ceco = "11060280"
centro = "1061"
End If
If sucursal = "COYHAIQUE" Then
ceco = "11060580"
centro = "1064"
End If
If sucursal = "PUNTAARENAS" Then
ceco = "11060680"
centro = "1065"
End If
If sucursal = "PREVENTA" Then
ceco = "11002624"
centro = "1003"
End If
receptor = Range("D7")
fecha = Format(Date, "dd.mm.yyyy")
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
'priemra parte
'session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nZ_GD_MAQUINA"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtKNA1-KUNNR").Text = centro
session.findById("wnd[0]/usr/ctxtW_FECHA").Text = fecha
session.findById("wnd[0]/usr/ctxtTVSTZ-WERKS").Text = "1003"
session.findById("wnd[0]/usr/ctxtZAREAVTA-BUKRS").Text = "1000"
session.findById("wnd[0]/usr/txtW_TEXTO").Text = receptor
session.findById("wnd[0]/usr/txtW_TEXTO").SetFocus
'session.findById("wnd[0]/usr/txtW_TEXTO").caretPosition = 18
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/txtW_TEXTO").Text = receptor
session.findById("wnd[0]/usr/txtW_TEXTO").SetFocus
'session.findById("wnd[0]/usr/txtW_TEXTO").caretPosition = 18
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btnBTN_MATCH").press
session.findById("wnd[1]/usr/lbl[21,5]").SetFocus
'session.findById("wnd[1]/usr/lbl[21,5]").caretPosition = 64
session.findById("wnd[1]").sendVKey 2
session.findById("wnd[0]/usr/tblZSD_GENERA_ZSGCDETALLE/txtT_DETALLE-ARKTX[0,0]").Text = H
session.findById("wnd[0]/usr/tblZSD_GENERA_ZSGCDETALLE/txtT_DETALLE-KWMENG[1,0]").Text = "1"
session.findById("wnd[0]/usr/tblZSD_GENERA_ZSGCDETALLE/txtT_DETALLE-NETWR[2,0]").Text = "700000"
session.findById("wnd[0]/usr/tblZSD_GENERA_ZSGCDETALLE/txtT_DETALLE-NETWR[2,0]").SetFocus
session.findById("wnd[0]/usr/tblZSD_GENERA_ZSGCDETALLE/txtT_DETALLE-NETWR[2,0]").caretPosition = 7
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btnGENERAR").press
'favor copiar numero
MsgBox "favor guarde numero de guia, muy importante"
' session.findById("wnd[1]/usr/cntlCC1/shellcont/shell").setSelectionIndexes 20, 28
' Selection.Copy
'session.findById("wnd[1]/tbar[0]/btn[0]").press
'Status = session.findById("wnd[0]/sbar").Text
'objsheet.Cells(10, 2) = Status
'session.findById("wnd[0]/tbar[0]/btn[15]").press
End Sub