Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA-Ausführung unterbreche

VBA-Ausführung unterbreche
24.09.2004 12:16:07
Hannes
Guten Tag Excel-User,
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Ausführung unterbreche
25.09.2004 13:19:08
Hans
Hallo Hannes,
nein, dafür ist der Code nicht gedacht. Ein Makro kann in VBA auch nicht unterbrochen werden. Teile das Programm entweder auf in den Teil, der vor der gewünschten Unterbrechung und den, der nach der Unterbrechung wirkseim sein soll und rufe den zweiten Teil mit der Schaltfläche auf oder verzichte auf die Schaltfläche und arbeite stattdessen mit einer UserForm oder einfacher mit einer InputBox.
Gruss hans
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige