Für mein Problem finde ich trotz intensiver Suche keine Lösung:
Ich will mein Makro solange pausieren lassen, bis ein bestimmtes Programm beendet ist.
Eigentlich wollte ich, dass mein Makro anhält bis das Programm "Saperion" aus folgendem Code gestartet und bereit ist:
Private Declare
Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Private Declare
Function MoveWindow Lib "user32" (ByVal hwnd _
As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Sub Saperion()
Shell "X:\win32app\Saperion\ARCHIE32.EXE /DocFlow /CurrentUser"
DoEvents
wHandle = FindWindow(vbNullString, "")
Application.Wait TimeSerial(Hour(Now()), _
Minute(Now()), Second(Now()) + 20)
End Sub
Mein Problem ist, dass diese Anwendung manchmal so lange braucht, dass die 20 Sekunden nicht reichen.
Es sollen nämlich Daten aus Excel dorthin übergeben werden.
Ich habe aber im Taskmanager gesehen, dass eine Anwendung Namens "WinJa Windows Client" irgendwann auftaucht.
Sobald diese Anwendung wieder weg ist ist auch mein Programm bereit.
Kriegt man es hin, dass mein Makro wartet?
Gruß und Danke
Werner