Come utilizzare i comandi wait e sleep in vba?

Comando di attesa VBA

In VBA, il comando (metodo) WAIT ti aiuta ad attendere tutte le attività che stai svolgendo in Excel per un certo tempo o fino a un’ora specifica. In poche parole, puoi fare in modo che VBA attenda alcuni secondi, minuti o addirittura ore o fino a un tempo prestabilito. Ha un argomento che richiede di specificarlo.

Passaggi per utilizzare VBA Attendi

  1. Innanzitutto, utilizza la parola chiave “Applicazione” e digita un punto (.) per ottenere l’elenco di proprietà e metodi.
  2. Successivamente, seleziona o tocca il metodo “Aspetta”.
  3. Ora specifica l’argomento “Tempo” per indicare a VBA quanto tempo vuoi attendere.
  4. Alla fine, esegui il codice per mettere in coda tutte le attività in Excel.
comando vba-wait

In questo codice, hai utilizzato NOW e TIMEVALUE ( Funzioni VBA ) per indicare a VBA di attendere dieci secondi dal momento in cui esegui il codice. Quindi, una volta trascorsi i dieci secondi, l’istruzione IF testerà la condizione ed eseguirà mostrandoti una finestra di messaggio con il messaggio “Wait Over”.

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

Puoi anche utilizzare il metodo Wait per consentire a Excel di attendere tutte le attività fino a un’ora specifica. Il seguente codice attende fino alle 13:00. Quindi, poiché nel mio sistema sono le 12:52 in questo momento, questo codice di linea lo farà attendere per i prossimi 8 minuti.

 Application.Wait "13:00:00"

Nota: con il metodo wait è possibile attendere solo almeno un secondo.

Sonno VBA

Sleep è una funzione di Windows ( sotto i file DLL di Windows; è necessario importare questa funzione utilizzando un’istruzione di codice ) che può aiutarti a mettere in pausa o aggiungere un ritardo durante l’esecuzione di una macro . In questa funzione è possibile specificare il tempo in millisecondi, ma non è possibile interrompere la funzione di sospensione una volta che ha messo tutto in pausa.

Utilizzare la funzione di sospensione in VBA

  1. Prima di tutto è necessario utilizzare l’istruzione code per importare la funzione sleep dalla “ libreria kernel32 ”.
  2. E poi devi assicurarti di aggiungere l’istruzione “PtrSafe” se stai utilizzando Excel a 64 bit.
  3. Quindi è necessario chiamare la funzione sleep nel codice.
  4. Alla fine, specifica il tempo (millisecondi) in cui desideri ritardare il codice.
 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

Nel codice sopra hai 10.000 millisecondi, che equivalgono a 10 secondi. Quando esegui questo codice, ritarderà il codice di 10 secondi e quindi mostrerà una finestra di messaggio.

Nota: quando usi la funzione di sospensione, interrompe tutto in Excel per il tempo impostato, non puoi nemmeno interromperlo. Assicurati di controllare questo collegamento di Microsoft sulla compatibilità tra le versioni a 32 e 64 bit .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *