Εκτέλεση εντολής/υπο-διαδικασίας με χρήση χρονοδιακόπτη VBA

Anonim

Σε αυτό το άρθρο, θα δημιουργήσουμε μια μακροεντολή για να καλέσουμε μια άλλη μακροεντολή ή να εκτελέσουμε μια εντολή μετά από καθορισμένα χρονικά διαστήματα.

Για να εκτελέσετε τη μακροεντολή, κάντε κλικ στο κουμπί "Έναρξη χρονοδιακόπτη".

Κατά την εκτέλεση της μακροεντολής, η μακροεντολή "TimerMsg" θα εμφανίσει ένα πλαίσιο μηνυμάτων.

Όταν ένας χρήστης κάνει κλικ στο κουμπί "OK", τρία δευτερόλεπτα αργότερα, θα κληθεί η μακροεντολή "MsgProcedure". Η μακροεντολή "MsgProcedure" θα εμφανίσει ένα πλαίσιο μηνυμάτων.

Λογική εξήγηση

Σε αυτό το παράδειγμα, έχουμε δημιουργήσει δύο μακροεντολές "TimerMsg" και "MsgProcedure". “TimerMsg” Η μακροεντολή εμφανίζει ένα μήνυμα πληροφοριών και καλεί "MsgProcedure" μετά από αναμονή για τρία δευτερόλεπτα, όπως ορίζεται στον κώδικα.

Επεξήγηση κώδικα

Εφαρμογή. Μέθοδος Μόνο

Application.OnTime μέθοδος χρησιμοποιείται για τον προγραμματισμό μιας διαδικασίας για εκτέλεση σε καθορισμένα χρονικά διαστήματα.

Σύνταξη

Εφαρμογή .OnTime Time, Procedure_name

Ο χρόνος καθορίζει το χρονικό διάστημα στο οποίο πρέπει να εκτελεστεί η διαδικασία.

Το όνομα_διαδικασίας καθορίζει το όνομα της διαδικασίας.

Χρησιμοποιήσαμε τη μέθοδο Application.onTime για να προγραμματίσουμε τη μακροεντολή "MsgProcedure".

Ακολουθήστε παρακάτω για τον κωδικό

 Option Explicit Sub TimerMsg () 'Δήλωση μεταβλητής ημερομηνίας Dim AlertTime As Date' Εμφάνιση πλαισίου μηνυμάτων στην αρχή του χρονοδιακόπτη MsgBox "Ο συναγερμός θα χτυπήσει σε 3 δευτερόλεπτα!" 'Ρύθμιση χρόνου χρονοδιακόπτη για 3 δευτερόλεπτα μετά την ώρα ενεργοποίησης AlertTime = Now + TimeValue ("00:00:03")' Ενεργοποίηση του χρονοδιακόπτη και εκτέλεση της MsgProcedure στο τέλος της εφαρμογής χρονοδιακόπτη. OnTime AlertTime, "MsgProcedure" End Sub Sub MsgProcedure () 'Δείγμα διαδικασίας που δημιουργήθηκε για το χρονόμετρο παράδειγμα MsgBox "Three Seconds is up!" Τέλος υπο 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email