SAP Jobsuche bei DV-Treff
ScriptMan
vor 16 Jahre

Hallo zusammen,

 

heute möchte ich etwas aus der WSH-Trickkiste beisteuern. Für diejenigen, die schon lange nach einer einfachen Möglichkeit gesucht haben, sich automatisch in SAP an- und abzumelden, präsentiere ich hier folgenden Code:

 

 

Anmelden.vbs

 

set Wshell = CreateObject("WScript.Shell")

 

zeile = 7                                                                                  ‘Zeilenposition im SAP Logon

system = "S01"                                                                       ‘SAP - Systembezeichnung

mandant = "101"                                                                      ‘SAP - Mandant

name = "sap"                                                                          ‘Name des Anwenders

passwort = "xyz123“                                                                ’Passwort des Anwenders

 

wshell.run "%WINDIR%\SAPwksta\setup\SAL\saplogon.sal"       ’Pfad von SAP Logon

 

Do

 bWindowFound = Wshell.AppActivate("SAP Logon")                  ‘Warten auf das Fenster “SAP Logon”

 WScript.Sleep 1000

Loop Until bWindowFound

 

Wshell.appActivate "SAP Logon"

WScript.Sleep 200

Wshell.sendkeys "^{HOME}"                                                     'An den Anfang springen

WScript.Sleep 100

For i=1 to zeile - 1

    Wshell.sendkeys "{DOWN}"                                                 'Eine Zeile runter

    WScript.Sleep 50

Next

Wshell.sendkeys "{ENTER}"                                                     'ENTER drücken

 

Do

 bWindowFound = Wshell.AppActivate(system)                          ‘Warten auf das Anmeldefenster

 WScript.Sleep 1000

Loop Until bWindowFound

 

Wshell.appActivate "SAP Logon"

WScript.Sleep 200

Wshell.sendkeys "%{F4}"                                                         'Beenden von SAP Logon

 

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

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

session.findById("wnd[0]/usr/txtRSYST-MANDT").text = mandant

session.findById("wnd[0]/usr/txtRSYST-BNAME").text = name

session.findById("wnd[0]/usr/pwdRSYST-BCODE").text = passwort

session.findById("wnd[0]/usr/pwdRSYST-BCODE").setFocus

session.findById("wnd[0]/usr/pwdRSYST-BCODE").caretPosition = 6

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

 

 

 

Erläuterung zur Lösung:

 

Die Voraussetzung ist, dass sich der Focus in SAP Logon auf dem Reiter „Systeme“ befindet. Der Installationspfad von SAP Logon müsste u.U. auch noch angepasst werden.

 

Die Zeilenposition “zeile” muss auf den jeweiligen gewünschten Wert eingestellt werden. Sie repräsentiert die Position des aufzurufenden SAP-Systems in SAP Logon.

 

Alle anderen Parameter müssen selbstverständlich auch neu bestückt werden.

 

Nachdem man dann diese VBS-Datei z.B. unter %USERPROFILE%\SAPWorkDir\ abgespeichert hat, wird normalerweise sichergestellt, dass auch kein unbefugter Zugriff auf das offengelegte Passwort erfolgen kann. Noch schnell eine neue Verknüpfung auf dem Desktop auf diese VBS-Datei anlegen und anschließend über Eigenschaften eine Tastenkombination (z.B. STRG / F12) vereinbaren und die Ausführung auf minimiert einstellen. Das Anmelden kann dann einfach über STRG / F12 erfolgen.

 

Abmelden.vbs

 

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

session.findbyid("wnd[0]").close

session.findById("wnd[1]/usr/btnSPOP-OPTION1").press

 

Ich denke, hier muss ich nicht viel erklären. Man kann sich auch hier eine Verknüpfung auf den Desktop legen und diese z.B. mit einer Tastenkombination STRG / F11 versehen.

 

 

Freundliche Grüße

 

ScriptMan

bmw318e46
vor 13 Jahre
Hi Script Man,

super Idee Dein Scrict, aber leider stoße ich auf das Problem, dass er mit einen Fehler bei

If Not IsObject(session) Then

Set session = connection.Children(0)

End If

ausgibt. Die Fehlermeldung lautet: "The enumerator of the collection cannot find en element wirh the specified index." Was kann hier falsch sein? Achja, ich benutze derzeit SAPLogon 720 PatchLevel 5 Hotfix 1.

Ich hoffe auf Deine / Eure Hilfe

Gruß Markus

ScriptMan
vor 13 Jahre

Hallo Markus,

es ist schon interessant, nach so einer langen Zeit noch eine Meldung zu diesem Thema zu bekommen. Leider kann ich aus der Ferne nicht sehr gut beurteilen, woran es liegen könnte. Wir arbeiten noch mit der SAP GUI Version 7.1 und die An- und Abmeldung funktioniert ohne Probleme.

Man müsste zuerst wissen, ob das Skript bis dahin alle anderen Befehle ohne Probleme abgearbeitet hat. Wird z.B. die richtige Zeile im SAP Logon aktiviert? Erscheint das Anmeldefenster? Wird anschließend das SAP Logon beendet? Werden die Objekte SapGuiAuto, application und connection richtig gesetzt?

An dieser Stelle wäre auch interessant zu wissen, ob das Abmeldescript funktioniert, da die ersten 14 Zeilen dieses Skriptes identisch sind.

Freundliche Grüße

ScriptMan

Lutz Fricke
vor 10 Jahre
Hallo Scriptman,

und nach weiteren 2 Jahren wieder eine Rückmeldung...

Ich habe Dein Script getetstet und dazu den Datei-Pfad geändert.

Aus

wshell.run "%WINDIR%\SAPwksta\setup\SAL\saplogon.sal"

habe ich

wshell.run "C:\Program Files\SAP\FrontEnd\SAPgui\saplogon.exe"

gemacht.

Den Pfad habe ich aus meiner funktionierenden Desktop-Verknüpfung kopiert.

Das Script funktioniert aber nicht.

Fehler: Das System kann die angegebene Datei nicht finden.

Wo ist der Fehler?

Viele GFrüße,

Lutz

ScriptMan
vor 10 Jahre
Hallo Lutz,

könnte es sein, dass wir uns schon mal begegnet sind?

http://scn.sap.com/thread/3585828 

Wie es dem auch sei, wshell.run kann einen Pfad mit einem Leerzeichen nicht so einfach verarbeiten. Und daher könnte es nur funktionieren wie folgt:

wshell.run """" & "C:\Program Files\SAP\FrontEnd\SAPgui\saplogon.exe" & """"

oder

wshell.run chr(34) & "C:\Program Files\SAP\FrontEnd\SAPgui\saplogon.exe" & chr(34)

Nach 5 Jahren haben sich meine An- und Abmelderoutinen auch ein wenig geändert.

Anmelden.vbs:

'-------------------------------------------------------------------------------------------------------

' Parameter für SAP - Anmeldung

'-------------------------------------------------------------------------------------------------------

Name = "myName"

Passwort = "myPassword"

Mandant = "123"

System = "XYZ"

PFAD = "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"

Connection = "mySAP-System"

'-------------------------------------------------------------------------------------------------------

set wshell = createObject("Wscript.Shell")

on error resume next

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

On Error GoTo 0

Anzahl = 0

If error <> 0 Then

do

wshell.run chr(34) & PFAD & chr(34)

wscript.sleep 4000

error = 0

On Error Resume Next

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

if error = 0 then exit do

Anzahl = Anzahl + 1

if Anzahl = 5 then exit do

On Error GoTo 0

loop

If error <> 0 Then

MsgBox "SAP Logon ist nicht installiert." , vbInformation

end if

end if

on error resume next

If Not IsObject(connection) Then

Set connection = application.Children(0)

error = err.number

'msgbox error

End If

If Not IsObject(session) Then

Set session = connection.Children(0)

error = err.number

'msgbox error

End If

on error goto 0

if error <> 0 then

Set Connection = application.openconnection(Connection)

Set session = Connection.Children(0)

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

session.findById("wnd[0]/usr/txtRSYST-MANDT").Text = Mandant

session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = Name

session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = Passwort

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

wscript.sleep 2000

else

msgbox "Sie sind bereits im SAP angemeldet.", vbinformation, "SAP - Anmeldung"

end if

Abmelden.vbs:

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

while connection.children.count > 0

Set asession = connection.Children(0)

asession.findbyid("wnd[0]").close

on error resume next

asession.findById("wnd[1]/usr/btnSPOP-OPTION1").press

on error goto 0

wend

Grüße,

ScriptMan

Lutz Fricke
vor 10 Jahre
Hallo ScriptMan,

die Welt ist schon klein, oder?

Bin in einigen Foren unterwegs, aber im Gegensatz zu Dir bin ich immer nur der, der dumme Fragen stellt 😕 .

Das erste Problem ist gelöst. Es funktioniert und der Logon-Screen geht auf.

Jetzt weiter...

Wir haben ein SingleSignOn, dass ich natürlich gerne verwenden würde. Daher gefällt mir Deine alte Lösung ganz gut.

Aber viellelicht kannst Du mir auf die Sprünge helfen und die neuere Version mit SingleSignOn auszuführen...

Schon mal vielen Dank,

Lutz

ScriptMan
vor 10 Jahre
Hallo Lutz,

da muss ich leider passen. Wir arbeiten nur mit SAP Logon PAD. Wenn du aber deine bisherige Lösung hier präsentieren könntest, wäre es denkbar, dass man sie auf die neue Variante umstellen könnte. Die neue Lösung ist robuster und nicht so anfällig wie die alte.

Grüße,

ScriptMan

Lutz Fricke
vor 10 Jahre
Hallo ScriptMan,

ich habe Deine neue Variante genommen und einfach die Beschreibung der Verbindung (zu finden unter Eigenschaften)als "MySAPSystem" eingesetzt.

Die Variablen "Name", "Passwort" "Mandant" und "System" brauche ich nicht, da das System sich über mein Windows-Passwort einloggt.

Funktioniert perfekt bis auf zwei Fensterchen, die unterwegs aufgehen und quittiert werden wollen.

Wie bekomme ich die weg?

Und um endlich mal ein bisschen in die Tiefen vorzustoßen, hast Du ein bisschen Erklärung zu dem, was Dein Script genau macht?

Gruß,

Lutz

ScriptMan
vor 10 Jahre
Hallo Lutz,

schön zu hören, dass auch die neue Version bei dir läuft. Kommen die 2 kleinen Fensterchen bei dir hoch, auch wenn du dich manuell anmeldest? Wenn ja, dann nimm dazu ein SAP GUI Script auf und hole dir die Kommandos von dort in deine Anmelderoutine.

Das restliche Anmeldeskript erklärt sich doch von selbst.

Anmelden.vbs: (Version für SingleSignOn)

'-------------------------------------------------------------------------------------------------------

' Parameter für SAP - Anmeldung

'-------------------------------------------------------------------------------------------------------

PFAD = "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"

Connection = "mySAP-System"

'-------------------------------------------------------------------------------------------------------

set wshell = createObject("Wscript.Shell")

on error resume next

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

On Error GoTo 0

Anzahl = 0

If error <> 0 Then

'1. Test

do

wshell.run chr(34) & PFAD & chr(34)

wscript.sleep 4000

error = 0

On Error Resume Next

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

'2. Test

if error = 0 then exit do

Anzahl = Anzahl + 1

'3. Test

if Anzahl = 5 then exit do

On Error GoTo 0

loop

If error <> 0 Then

'4. Test

MsgBox "SAP Logon ist nicht installiert." , vbInformation

end if

end if

on error resume next

If Not IsObject(connection) Then

Set connection = application.Children(0)

error = err.number

'msgbox error

End If

If Not IsObject(session) Then

Set session = connection.Children(0)

error = err.number

'msgbox error

End If

'on error goto 0

if error <> 0 then

'5. Test

Set Connection = application.openconnection(Connection)

Set session = Connection.Children(0)

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

wscript.sleep 2000

else

'5. Test

msgbox "Sie sind bereits im SAP angemeldet.", vbinformation, "SAP - Anmeldung"

end if

on error goto 0

Prinzipiell kann man sagen, dass der fehlerfreie Zustand nach dem Ausführen eines Kommandos getestet wird. In Abhängigkeit davon wird entschieden, was als nächstes gemacht werden muss.

1. Test:

Wenn ein Fehler beim Kreieren der Objekte SapGuiAuto oder application vorgekommen ist, dann ist es klar, dass keine aktive SAP Session vorhanden ist und SAP über saplogon.exe aufgerufen werden muss.

2. Test:

Wenn SAP gestartet wurde und die zuvor genannten Objekte sich ansprechen lassen, wird hier die Schleife verlassen.

3. Test:

Es wird insgesamt 5 mal versucht, saplogon.exe zu starten. Dazwischen wird immer 4 Sekunden gewartet. Wenn die max. Anzahl erreicht wurde, wird die Schleife verlassen.

4. Test:

Wenn an dieser Stelle ein Fehler vorhanden ist, wird es angenommen, dass saplogon.exe sich nicht starten lässt.

5. Test:

Wenn an dieser Stelle ein Fehler vorhanden ist, wird es angenommen, dass noch keine SAP Connection vorhanden ist und diese zuerst hergestellt werden muss. Ansonsten wird es angenommen, dass SAP bereits aktiv war und keine Neuanmeldung notwendig ist.

Grüße,

ScriptMan

Lutz Fricke
vor 10 Jahre
Hallo ScriptMan,

die Fensterchen sind das übliche "A Script is trying to attach to the GUI" und im Anschluss " A script is opening a connection to system my SAP-System".

Kann man die beiden irgendwie unterdrücken?

Vielen Dank für die kurze Erläuterung. Es ist etwas schwierig für mich den Inhalt eines Scripts zu interpretieren, bin halt doch nur Laie.

Gruß,

Lutz

ScriptMan
vor 10 Jahre

Hallo Lutz,

die Lösung für dein Problem findest z.B. hier:

http://scn.sap.com/thread/3517188 

Grüße,

ScriptMan

Lutz Fricke
vor 10 Jahre
Da hätte ich auch selbst drauf kommen können 😢 😢

Vielen Dank. Jetzt steht der dem automatischen Job hoffentlich nichts mehr im Weg.

Gruß,

Lutz

ScriptMan
vor 10 Jahre
Hallo zusammen,

selbstverständlich könnte man die Anmelden.vbs auch verschlüsseln, um sie vor neugierigen Anwendern zu schützen.

z.B.:

myCode.vbs:

set wshell = createobject("Wscript.Shell")

Set WshEnv = Wshell.Environment("PROCESS")

Set fso = CreateObject("Scripting.FileSystemObject")

NAME = inputbox("Geben Sie bitte Ihren User-Namen im SAP ein: ", "User-Name", lcase(wshEnv("USERNAME")))

PW = inputbox("Geben Sie bitte Ihr neues PW im SAP ein: ", "PW", "")

If fso.fileExists("anmelden.vbs") Then

set myfile_1 = fso.opentextfile("anmelden.vbs")

set myfile_2 = fso.opentextfile("anmelden_1.vbs", 2, true,0)

Do Until myfile_1.AtEndOfStream

SATZ = myfile_1.readline

if instr(SATZ, chr(34) & "Name" & chr(34)) > 0 then

myfile_2.writeline " Name = " & chr(34) & NAME & chr(34)

else

if instr(SATZ, chr(34) & "Passwort" & chr(34)) > 0 then

myfile_2.writeline " Passwort = " & chr(34) & PW & chr(34)

else

myfile_2.writeline SATZ

end if

end if

Loop

myfile_1.close

myfile_2.close

wshell.run chr(34) & ".\encode.vbs" & chr(34) & " anmelden_1.vbs"

wscript.sleep 1000

if fso.fileExists("anmelden_1.vbs") Then

Set myfile_0 = fso.GetFile("anmelden_1.vbs")

myfile_0.Delete

end if

else

msgbox "Die Mustervorlage namens 'Anmelden.vbs' ist leider nicht vorhanden.", vbInformation, "Hinweis"

end if

Encode.vbs:

set oFilesToEncode = WScript.Arguments

set oEncoder = CreateObject("Scripting.Encoder")

For i = 0 to oFilesToEncode.Count - 1

set oFSO = CreateObject("Scripting.FileSystemObject")

file = oFilesToEncode(i)

set oFile = oFSO.GetFile(file)

Set oStream = oFile.OpenAsTextStream(1)

sSourceFile=oStream.ReadAll

oStream.Close

sDest = oEncoder.EncodeScriptFile(".vbs",sSourceFile,0,"")

sFileOut = Left(file, Len(file) - 3) & "vbe"

Set oEncFile = oFSO.CreateTextFile(sFileOut)

oEncFile.Write sDest

oEncFile.Close

Next

Erläuterung:

Aus der Mustervorlage namens "Anmelden.vbs", wo kein echter User-Name und kein echtes Passwort steht, wird zuerst ein anwenderspezifisches Skript erzeugt und dieses anschließend verschlüsselt. Das Ergebnis lautet "Anmelden_1.vbe" und ist vor neugierigen Blicken geschützt.

Es ist kein Geheimnis, dass dies mit einem entsprechendem Programm wieder dekodiert werden kann. Wer das aber tut, braucht mehr Zeit, als nur die Datei aufzumachen. Der WSH erkennt ein verschlüsseltes VB-Skript automatisch an dem Dateityp '.vbe'.

Viel Spaß beim Testen!

ScriptMan

Lutz Fricke
vor 9 Jahre
Hallo zusammen,

jetzt liefen meine Scripts über 6 Monate einwandfrei und nun haben wir auf Windows 8.1 und Office 2013 gewechselt und nichts geht mehr 😠 😠 .

Ich habe ScriptMan's Variante für SingleSignOn verwendet und jetzt kommt's:

Läuft SAP noch nicht, funktioniert's einwandfrei, läuft SAP aber bereits, bleibt das Script am 4.Test hängen und meldet "SAP Logon nicht installiert".

Außerdem rufe ich am Ende des Scripts eine Excel-Datei auf:

wshell.run chr(34) & "\\denbppfs001\Abteilungslaufwerke\she2\Produktionsreporting\Makros\Autostart OpenOrders.xlsm" & chr(34),1,false

Das Script öffnet zwar Excel, aber der Inhalt des Excel-Makros wird nicht abgearbeitet. Sobald ich das Excel-Makro manuell starte läuft's.

Wo ist der Haken?

Vielen Dank für die Hilfe,

Lutz

Lutz Fricke
vor 9 Jahre
Hallo zusammen,

haben das Problem mit dem Start der Excel-Datei gelöst.

Wenn ich das Script etwas schlafen lasse

wscript.sleep 4000

funktioniert's. Das war früher nicht nötig.

Gruß,

Lutz

ScriptMan
vor 9 Jahre
Hallo Lutz,

besteht das Problem noch?

Wenn ja, müsste man das aktuelle VB-Skript zuerst sehen, um einen Rat zu geben.

Grüße,

ScriptMan

Lutz Fricke
vor 9 Jahre
Hallo ScriptMan,

es ist das Script, das von Dir gepostet wurde, nur etwas für den SingleSignOn abgewandelt.

Es lief auch bis zur Umstellung auf Windows8.1 einwandfrei.

'***** Parameter für SAP - Anmeldung *****

PFAD = "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"

Connection = "RP1 – SSO – ECC Production"

'******

'***** Auto-Start *****

set wshell = createObject("Wscript.Shell")

on error resume next

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

On Error GoTo 0

Anzahl = 0

If error <> 0 Then

do

wshell.run chr(34) & PFAD & chr(34)

wscript.sleep 4000

error = 0

On Error Resume Next

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

if error = 0 then exit do

Anzahl = Anzahl + 1

if Anzahl = 5 then exit do

On Error GoTo 0

loop

If error <> 0 Then

MsgBox "SAP Logon ist nicht installiert." , vbInformation

end if

end if

on error resume next

If Not IsObject(connection) Then

Set connection = application.Children(0)

error = err.number

'msgbox error

End If

If Not IsObject(session) Then

Set session = connection.Children(0)

error = err.number

'msgbox error

End If

on error goto 0

if error <> 0 then

Set Connection = application.openconnection(Connection)

Set session = Connection.Children(0)

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

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

wscript.sleep 2000

else

' msgbox "Sie sind bereits im SAP angemeldet.", vbinformation, "SAP - Anmeldung"

end if

Vielen Dank für die Hilfe.

Gruß,

Lutz

ScriptMan
vor 9 Jahre
Hallo Lutz,

ich kann den Fehler leider nicht reproduzieren, da wir noch nicht unter Windows 8.1 arbeiten. Daher kann ich nur eine Vermutung aufstellen. Die neue Version, die Du testen könntest, sieht wie folgt aus:

'***** Parameter für SAP - Anmeldung *****

PFAD = "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"

myConnection = "RP1 – SSO – ECC Production"

'******

'***** Auto-Start *****

set wshell = createObject("Wscript.Shell")

on error resume next

If Not IsObject(SAP_Apllication) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set SAP_Apllication = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

On Error GoTo 0

Anzahl = 0

If error <> 0 Then

do

wshell.run chr(34) & PFAD & chr(34)

wscript.sleep 4000

error = 0

On Error Resume Next

If Not IsObject(SAP_Apllication) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set SAP_Apllication = SapGuiAuto.GetScriptingEngine

End If

error = Err.Number

if error = 0 then exit do

Anzahl = Anzahl + 1

if Anzahl = 5 then exit do

On Error GoTo 0

loop

If error <> 0 Then

MsgBox "SAP Logon ist nicht installiert." , vbInformation

end if

end if

on error resume next

If Not IsObject(SAP_Connection) Then

Set SAP_Connection = SAP_Apllication.Children(0)

error = err.number

'msgbox error

End If

If Not IsObject(session) Then

Set session = SAP_Connection.Children(0)

error = err.number

'msgbox error

End If

on error goto 0

if error <> 0 then

Set SAP_Connection = SAP_Apllication.openconnection(myConnection)

Set session = SAP_Connection.Children(0)

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

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

wscript.sleep 2000

else

msgbox "Sie sind bereits im SAP angemeldet.", vbinformation, "SAP - Anmeldung"

end if

Mal sehen, ob es schon gewesen ist.

Grüße,

ScriptMan

Lutz Fricke
vor 9 Jahre
Hallo ScriptMan,

ich hab's noch nicht probiert, aber magst Du nochmal die Variable Connection prüfen?

Du hast sie zu Beginn in myConnection umbenannt und arbeitest meistens mit SAP_Connection.

Ist SAP_Connection vom System vorgegeben?

Gruß,

Lutz

ScriptMan
vor 9 Jahre
Hallo Lutz,

das sollte alles seine Richtigkeit haben.

myConnection deutet auf eine Stringvariable hin und

SAP_Connection stellt eine Object-Variable dar. Da ich es nicht testen kann, wird es interessant sein, was bei Dir dabei rauskommt.

Grüße,

ScriptMan