Befehl/Unterprozedur mit VBA-Timer ausführen

Anonim

In diesem Artikel erstellen wir ein Makro, um nach definierten Zeitintervallen ein weiteres Makro aufzurufen oder einen Befehl auszuführen.

Um das Makro auszuführen, klicken Sie auf die Schaltfläche „Timer starten“.

Beim Ausführen des Makros zeigt das Makro „TimerMsg“ ein Meldungsfeld an.

Wenn ein Benutzer auf die Schaltfläche „OK“ klickt, wird drei Sekunden später das Makro „MsgProcedure“ aufgerufen. Das Makro „MsgProcedure“ zeigt ein Meldungsfeld an.

Logikerklärung

In diesem Beispiel haben wir zwei Makros „TimerMsg“ und „MsgProcedure“ erstellt. „TimerMsg“ Makro zeigt eine Informationsmeldung an und ruft „MsgProcedure“ auf, nachdem es drei Sekunden gewartet hat, wie im Code definiert.

Codeerklärung

Application.OnTime-Methode

Die Application.OnTime-Methode wird verwendet, um eine Prozedur so zu planen, dass sie in definierten Zeitintervallen ausgeführt wird.

Syntax

Anwendung .OnTime Time, Procedure_name

Zeit gibt das Zeitintervall an, in dem die Prozedur ausgeführt werden soll.

Prozedurname definiert den Namen der Prozedur.

Wir haben die Methode Application.onTime verwendet, um das Makro "MsgProcedure" zu planen.

Bitte folgen Sie unten für den Code

 Option Explicit Sub TimerMsg() 'Datumsvariable deklarieren Dim AlertTime als Datum 'Meldungsbox beim Start des Timers anzeigen MsgBox "Der Alarm geht in 3 Sekunden los!" 'Timer-Zeit für 3 Sekunden nach der Aktivierungszeit einstellen AlertTime = Now + TimeValue("00:00:03") 'Timer aktivieren und MsgProcedure am Ende des Timers ausführen Application.OnTime AlertTime, "MsgProcedure" End Sub Sub MsgProcedure() 'Beispielprozedur für Timer-Beispiel erstellt MsgBox "Three Seconds is up!" End Sub 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site