Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

Excel VBA warten bis Excel wieder aktiv ist

Excel VBA warten bis Excel wieder aktiv ist
05.05.2015 11:22:49
pongobernd
Servus,
mit VBA aktiviere ich ein Programm und sende einen Befehl (ist wo anders definiert).
Jetzt soll der Code in Excel warten bis Excel wieder aktiviert wird, damit ich im anderen Programm kontrollieren ung ggf. etwas ändern kann.
Derzeit habe ich eine Pause von ein paar Sekunden eingebaut, aber ich würde es gerne etwas dynamischer gestalten, so das wenn Excel wieder aktiviert wird es mit dem Code weiter geht.
Pause Counter Schleifen sind in Zellen definiert
Code:

Sub Schleife_time()
Application.Goto Reference:="Counter"
For i = [Counter] + 1 To [Counter] + [Schleifen]
Application.Goto Reference:="Counter"
ActiveCell = i
Application.Wait (Now + [Pause] / 86400)hier soll gewartet werden bis Excel  _
wieder  aktiv ist
Next i
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA warten bis Excel wieder aktiv ist
05.05.2015 12:05:35
EtoPHG
Hallo Bernd,
Das ist mit Basis-Kenntnissen 'heavy fuel'...
Du kannst das nur über API-Funktionen lösen.
Stichworte dazu (benutze die Recherche des Forums) sind:
  • Window-Handle beim Start eines Programms merken,
  • Zyklisch über EnumWindows-Function den Zustand des gemerkten Handle prüfen

  • Gruess Hansueli

    Auf Ende von anderem Programm warten...
    05.05.2015 12:09:03
    anderem
    Hallo Bernd,
    Zur weiteren Information:
    Excel kann nicht warten, bis Excel wieder aktiv ist.
    Das ist ein Widerspruch in sich, den während dem Warten, ist Excel aktiv (nämlich mit Warten) und muss von Aussen eine Information erhalten, wann es weitergeht. Also müsste es heissen:
    EXCEL wartet auf die Beendigung eines anderen Programms.
    Gruess Hansueli

    Anzeige
    AW: Excel VBA warten bis Excel wieder aktiv ist
    05.05.2015 12:33:35
    Nepumuk
    Hallo,
    teste mal:
    Option Explicit

    Declare PtrSafe Sub Sleep Lib "kernel32.dll" ( _
        ByVal dwMilliseconds As Long)
    Declare PtrSafe Function GetActiveWindow Lib "user32.dll" () As LongPtr

    Public Sub Test()
        Do
            Call Sleep(100)
            DoEvents
            If CLngPtr(Application.Hwnd) = GetActiveWindow Then Exit Do
        Loop
        MsgBox "Weiter geht's"
    End Sub


    Gruß
    Nepumuk
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige
    Archiv - Verwandte Themen