Hoe wacht- en slaapopdrachten in vba te gebruiken?

VBA-wachtopdracht

In VBA helpt de WAIT-opdracht (methode) u om alle activiteiten die u in Excel uitvoert een bepaalde tijd of tot een bepaalde tijd te wachten. Simpel gezegd kunt u VBA een paar seconden, minuten of zelfs uren laten wachten, of tot een vaste tijd. Het bevat een argument waarvoor u het moet specificeren.

Stappen om VBA te gebruiken Wacht

  1. Gebruik eerst het trefwoord “Applicatie” en typ een punt (.) om de lijst met eigenschappen en methoden te krijgen.
  2. Selecteer of tik daarna op de methode “Wachten”.
  3. Geef nu het argument “Tijd” op om VBA te vertellen hoe lang u wilt wachten.
  4. Voer aan het einde de code uit om alle activiteiten in Excel in de wachtrij te plaatsen.
vba-wait-opdracht

In deze code gebruikte je NOW en TIMEVALUE ( VBA Functions ) om VBA te vertellen tien seconden te wachten vanaf het moment dat je de code uitvoerde. Dus zodra de tien seconden voorbij zijn, zal de IF-instructie de voorwaarde testen en uitvoeren, waarbij u een berichtvenster ziet met het bericht “Wait Over”.

 Sub vba_wait_example() If Application.Wait(Now + TimeValue("00:00:10")) = True Then MsgBox "Wait Over" End If End Sub

U kunt ook de wachtmethode gebruiken om Excel tot een bepaald tijdstip op alle activiteiten te laten wachten. De volgende code wacht tot 13:00 uur. Omdat het nu 12:52 uur is in mijn systeem, zorgt deze lijncode ervoor dat de code de volgende 8 minuten wacht.

 Application.Wait "13:00:00"

Opmerking: met de wachtmethode kunt u slechts minimaal één seconde wachten.

VBA-slaap

Slaap is een Windows-functie ( onder Windows DLL-bestanden; u moet deze functie importeren met behulp van een code-instructie ) die u kan helpen bij het pauzeren of toevoegen van een vertraging bij het uitvoeren van een macro . In deze functie kunt u de tijd in milliseconden opgeven, maar u kunt de slaapfunctie niet stoppen nadat alles is gepauzeerd.

Gebruik de slaapfunctie in VBA

  1. Allereerst moet je de code-instructie gebruiken om de slaapfunctie uit de “ kernel32-bibliotheek ” te importeren.
  2. En dan moet u ervoor zorgen dat u de “PtrSafe” -instructie toevoegt als u 64-bit Excel gebruikt.
  3. Vervolgens moet u de slaapfunctie in code aanroepen.
  4. Geef aan het einde de tijd (milliseconden) op waarop u de code wilt vertragen.
 If VBA7 Then ' For 64-Bit versions of Excel Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Else 'For 32-Bit versions of Excel Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) End If Sub vba_sleep() Sleep (10000) 'add code here MsgBox "Finished" End Sub

In de bovenstaande code heb je 10.000 milliseconden, wat gelijk is aan 10 seconden. Wanneer u deze code uitvoert, wordt de code 10 seconden vertraagd en wordt er vervolgens een berichtvenster weergegeven.

Opmerking: wanneer u de slaapfunctie gebruikt, stopt deze alles in Excel voor de door u ingestelde tijd, u kunt deze niet eens verbreken. Bekijk zeker deze link van Microsoft over compatibiliteit tussen 32-bits en 64-bits versies .

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *