VBA-Ausführung unterbreche
24.09.2004 12:16:07
Hannes
ich möchte den Ablauf eines Makros unterbrechen, um einem Nutzer das drücken einer Schaltfläche zu ermöglichen welche sich auf der Exel Mappe befinden. (Ich brauche den Wert der Schaltflächen später zur weiteren Verarbeitung)
Nachdem die Schaltfläche gedrückt wurde, soll VBA weiter ausgeführt werden.
Mit dem Lösungsansatz "Unterbrechung und Aufruf eines Programms" (siehe unten)
komme ich nicht weiter.
Kann mir jemand von Euch auf die Sprünge helfen?
Bereits jetzt vielen Dank für die Hilfe!
Hannes Herber :-)
******************************************************************************
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const WAIT_TIMEOUT = &H102&
Declare
Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Declare
Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long
Sub Aufruf()
Call Win32WaitTilFinished("notepad.exe")
MsgBox "Notepad ist beendet!"
End Sub
Sub Win32WaitTilFinished(ProgEXE As String)
Dim ProcessID As Long
Dim hProcess As Long
Dim RetVal As Long
ProcessID = Shell(ProgEXE, vbNormalFocus)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessID)
Do
DoEvents
RetVal = WaitForSingleObject(hProcess, 50)
Loop Until RetVal <> WAIT_TIMEOUT
End Sub