VBA-Ausführung unterbrechen
04.02.2004 19:06:35
BorussenFritz
ich möchte den Ablauf eines Makros unterbrechen, um eine mir noch unbekannte
Anzahl von Spalten zu markieren (auch die Position der Spalten ist mir noch
nicht bekannt). Nachdem die Spalten markiert wurden, 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!
BorussenFritz :-)
******************************************************************************
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