Hi everyone,
until now I usually asked users to log - in into SAP first and then use some Excel macros to download /modify data in SAP.
I have now found a neat way of opening SAP by opening a SAP shortcut - which works like a charm. Unfortunately that Charm has a very limited life span - because you are only able to run the macro once. If I want to rerun the macro I receive a Runtimeerror 91: wscript.ConnectObject Session, "on" .
This is the code I am using:
Dim SapApplication, SapGuiAuto, Connection, Session, wscript As Object Public System As String Sub SAP_prepare_sapscript() System = "PL1" Application.EnableCancelKey = xlDisabled PathStrg = "C:\Temp\" On Error Resume Next Shell ("C:\Program Files\SAP\FrontEnd\SAPgui\"sapshcut.exe " & PathStrg & System & ".sap") If Wait_for_Window("SAP Easy Access") = False Then GoTo giveUp 'Separate Macro which waits until SAP is open On Error GoTo 0 If Not IsObject(SapApplication) Then On Error Resume Next Set SapGuiAuto = GetObject("SAPGUI") If Err.Number <> 0 Then MsgBox ("Not able to log in") NoSap = True Err.Clear GoTo giveUp End If Set SapApplication = SapGuiAuto.GetScriptingEngine End If If Not IsObject(Connection) Then Set Connection = SapApplication.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 Err.Clear Session.findById("wnd[0]").maximize run_Sap_Script Application.ScreenUpdating = False If Err.Number <> 0 Then If Err.Number <> 91 Then If Err.Number <> 9 Then MsgBox ("There was an error running the Script") Sapok = False Err.Clear GoTo giveUp End If End If Err.Clear End If giveUp: Application.WindowState = xlMaximized End Sub Sub run_Sap_Script() 'here I am running my normal SAP commands like opening transactions.... 'log out of SAP Session.findById("wnd[0]/tbar[0]/btn[15]").press Session.findById("wnd[1]/usr/btnSPOP-OPTION1").press Err.Clear End Sub
Any Idea what needs to be changed?
Thanks for your help
Theo
Edited by: Fettertiger on Jul 29, 2011 3:11 PM