Verständnissproblem mit Sendkeys
07.11.2006 16:02:17
Klaus
ich versuche, aus Excel heraus in einem anderem Programm (unser hausinternes Buchungssystem) eine Buchung durchzuführen. Dazu bediene ich mich des SendKeys Befehls.
Folgendes Sub hab ich mir mit Hilfe der Recherche zusammen gebastelt:
(In Spalte A stehen meine Auftragsnummern)
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub OffeneAuftraegeBuchen()
a = Range("A1")
If a = "" Then Exit Sub
SendKeys ("%{tab}") 'Ins Buchungsprogramm wechseln
SendKeys ("AUFT") 'Auftrag
SendKeys (a) 'Auftragsnummer
SendKeys (" ") 'Leerzeichen
SendKeys ("~"), True 'Enter, Auftrag auswählen
Sleep 100 'Warten
SendKeys ("{F1}") 'Auftrag abschließen
End Sub
Soweit funktioniert es auch (Ich hab ganz schön geflucht, bis ich auf das TRUE nach ~ gekommen bin).
Das Problem ist: In Spalte A stehen mehrere Auftragsnummern. Wie kann ich die Sub rekursiv wiederholen, um zB. die Auftragsnummern aus A1 bis A100 ins Buchungsprogramm zu schießen? Durch das ALT+Tab bin ich ja aus Excel raus, und ich schaffs nicht mehr auf die Zelleninhalte zuzugreifen. Wie komm ich zurück ins Excel?
Dabei ergibt sich auch noch eine Frage: Das Fensterwechseln mit Alt+Tab halte ich für recht gefährlich, ich könnte ja in sonst einem Programm landen. Gibt es da eine elegantere Möglichkeit?
Gruß,
Klaus M.vdT.