HERBERS Excel-Forum - die Beispiele

Thema: Anwendung aufrufen und Makroausführung unterbrechen

Home

Gruppe

API

Problem

Wie kann ich über ein VBA-Programm eine andere Anwendung aufrufen und die Makroausführung solange unterbrechen, bis die andere Anwendung beendet wird?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: basMain

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

Beiträge aus dem Excel-Forum zu den Themen API und Anwendung

Excel to Word Kapitel VBA Anfangskapital berechnen
Laufzeitfehler 1004: Anwendungs- oder objektorient Gestapelte Säulen-Diagramm: Ich kapier's nicht
Googel Maps API in Excel VBA einfügen Exel immer in neuer Anwendung öffnen
Berechnung vom Endkapital anwendungen öffnen
API? - xl-Parameter aus Long-Wert bestimmen Berechnung Kapitalanlage
VBA Anwendung schließen Beliebige Anwendung in VBA schließen
Telefonnummer auslesen per TAPI Läuft RSAPI.DLL mit WIN2000 und XP?
AW: Fertige Anwendungen/Formulare Fertige Anwendungen/Formulare.
JAVA API mit VBA verwenden Anwendungs- oder objektori. Fehler
Laufende Anwendung ermitteln und beenden Laufzeitfehler 1004, Anwendungs und obj.
eine datei in anwendung Diagramme in Vektorformat für andere Anwendungen?
Nur eine Mappe pro Anwendung Anwendung im Vordergrund
Anwendungs- oder objektdefinierter Fehler andere anwendung steuern, mauszeiger auslesen?
if then Anwendung in einem Makro MsgBox anzeigen / Zellen auswählen / Anwendung ?
Formatierung für fremde Anwendung Meldung bei nicht geöffneter Anwendung
Name der aktiven Anwendung Anwendungs- oder Objektbezogener Fehler
Anwendungen in verschiedenen Fenstern öffnen Papierformat speichern
Anwendungs- oder objektdefinierter Fehler verschiedene Papierquele beim Drucken
Entnahme mit Kapitalverzehr Berechnung Endkapital / Zinsen
Druck auf Papier und PDF mit und ohne Logo Problem mit dem Schließen der Excel-Anwendung
Frage zur RSAPI.DLL Anwendungen schliessen und Windows herunterfahren
Anwendungsfehler With ThisWorkbook.Worksheets ... Kombination Seitenumbruch Papierformat Anpassen
Hilfe bei der Fehlersuche (API) Hardcopy aus anderer Anwendung einfügen
Frage zu XKAPITALWERT API-Zugriff
Endkapital? bei unterschiedlichen Zahlungen API für Tastaturpuffer auslesen