Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Ausführung unterbrechen

VBA-Ausführung unterbrechen
04.02.2004 19:06:35
BorussenFritz
Guten Abend Excel-User,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Ausführung unterbrechen
04.02.2004 19:32:42
Josef Ehrensberger
Hallo Fritz!
Du könntest es z.B. so machen.
Fortsetzen mit ESC.


Private Declare Function GetAsyncKeyState Lib "user32" _
 (ByVal vKey As LongAs Integer
Sub TestUnterbr()
MsgBox "start"
MsgBox " Unterbrechung" & vbLf & "Bereich auswählen" & vbLf & _
vbLf & "weiter mit ESC"
Do
DoEvents
If (GetAsyncKeyState(&H1B)) <> 0 Then Exit Do
Loop
MsgBox "Bereich " & Selection.Address & " wurde ausgewählt!"
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: VBA-Ausführung unterbrechen
04.02.2004 21:28:35
BorussenFritz
Guten Abend Sepp,
vielen Dank für Deine Antwort und die perfekte Hilfe. Einfach Klasse.
An diesem Problem habe ich lange herumgedoktert.
Nochmals vielen Dank!
BorussenFritz :-)
Danke für die Rückmeldung! o.T.
04.02.2004 21:53:59
Josef Ehrensberger
/

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige