Τρόπος χρήσης συμβάντων OnTime και Συμβάντων πλήκτρων στο Excel 2016 VBA

Υπάρχουν δύο τύποι συμβάντων που μπορείτε να χρησιμοποιήσετε στον προγραμματισμό VBA για το Excel 2016 που δεν σχετίζονται με αντικείμενα: ώρα και πάτημα πλήκτρων. Επειδή ο χρόνος και τα πλήκτρα δεν σχετίζονται με ένα συγκεκριμένο αντικείμενο, όπως ένα βιβλίο εργασίας ή ένα φύλλο εργασίας, προγραμματίζετε αυτά τα συμβάντα σε μια κανονική λειτουργική μονάδα VBA.

Η εκδήλωση OnTime

Το συμβάν OnTime εμφανίζεται όταν εμφανίζεται μια συγκεκριμένη ώρα της ημέρας. Το ακόλουθο παράδειγμα δείχνει πώς να κάνετε το Excel να εκτελέσει μια διαδικασία όταν εμφανίζεται το συμβάν 3 μ.μ. Σε αυτήν την περίπτωση, μια φωνή ρομπότ σας λέει να ξυπνήσετε, συνοδευόμενη από ένα πλαίσιο μηνύματος:

Sub SetAlarm()
  Application.OnTime 0.625, "DisplayAlarm"
End Sub
Sub DisplayAlarm()
  Application.Speech.Speak ("Hey, wake up")
  MsgBox "Ήρθε η ώρα για το απογευματινό σας διάλειμμα!"
End Sub

Σε αυτό το παράδειγμα, χρησιμοποιείται η μέθοδος OnTime του αντικειμένου Application. Αυτή η μέθοδος απαιτεί δύο ορίσματα: την ώρα (0,625 ή 3:00 μ.μ.) και το όνομα της διαδικασίας Sub που θα εκτελεστεί όταν συμβεί το συμβάν ώρας (DisplayAlarm).

Αυτή η διαδικασία είναι πολύ χρήσιμη αν τείνετε να τυλίγεστε τόσο πολύ στη δουλειά σας που ξεχνάτε τις συναντήσεις και τα ραντεβού. Απλώς ορίστε ένα συμβάν OnTime για να το υπενθυμίσετε στον εαυτό σας.

Οι περισσότεροι άνθρωποι δυσκολεύονται να σκεφτούν τον χρόνο από την άποψη του συστήματος αρίθμησης Excel. Επομένως, μπορεί να θέλετε να χρησιμοποιήσετε τη συνάρτηση VBA TimeValue για να αναπαραστήσετε την ώρα. Το TimeValue μετατρέπει μια συμβολοσειρά που μοιάζει με χρόνο σε μια τιμή που μπορεί να χειριστεί το Excel. Η ακόλουθη δήλωση δείχνει έναν ευκολότερο τρόπο προγραμματισμού μιας εκδήλωσης για τις 3 μ.μ.

Application.OnTime TimeValue ("3:00:00 pm"), "DisplayAlarm"

Εάν θέλετε να προγραμματίσετε μια εκδήλωση σε σχέση με την τρέχουσα ώρα (για παράδειγμα, σε 20 λεπτά από τώρα), μπορείτε να χρησιμοποιήσετε μια δήλωση όπως αυτή:

Application.OnTime Now + TimeValue ("00:20:00"), "DisplayAlarm"

Μπορείτε επίσης να χρησιμοποιήσετε τη μέθοδο OnTime για να εκτελέσετε μια διαδικασία VBA μια συγκεκριμένη ημέρα. Πρέπει να βεβαιωθείτε ότι ο υπολογιστής σας συνεχίζει να λειτουργεί και ότι το βιβλίο εργασίας με τη διαδικασία παραμένει ανοιχτό. Η ακόλουθη δήλωση εκτελεί τη διαδικασία DisplayAlarm στις 5 μ.μ. της 31ης Δεκεμβρίου 2016:

Application.OnTime DateValue ("12/31/2016 5:00 pm"), "DisplayAlarm"

Αυτή η συγκεκριμένη γραμμή κωδικών θα μπορούσε να σας φανεί χρήσιμη για να σας προειδοποιήσει ότι πρέπει να πάτε σπίτι και να προετοιμαστείτε για τις γιορτές της παραμονής της Πρωτοχρονιάς.

Ακολουθεί ένα άλλο παράδειγμα που χρησιμοποιεί το συμβάν OnTime. Η εκτέλεση των διαδικασιών UpdateClock γράφει την ώρα στο κελί A1 και επίσης προγραμματίζει ένα άλλο συμβάν πέντε δευτερόλεπτα αργότερα. Αυτό το συμβάν εκτελεί ξανά τη διαδικασία UpdateClock. Το καθαρό αποτέλεσμα είναι ότι το κελί A1 ενημερώνεται με την τρέχουσα ώρα κάθε πέντε δευτερόλεπτα. Για να σταματήσετε τα συμβάντα, εκτελέστε τη διαδικασία StopClock (η οποία ακυρώνει το συμβάν). Σημειώστε ότι το NextTick είναι μια μεταβλητή σε επίπεδο ενότητας που αποθηκεύει την ώρα για το επόμενο συμβάν.

Dim NextTick As Date
Sub UpdateClock()
' Ενημερώνει το κελί A1 με την τρέχουσα ώρα
  ThisWorkbook.Sheets(1).Range(“A1”) = Time
Ρυθμίστε το επόμενο συμβάν σε πέντε δευτερόλεπτα από τώρα
  NextTick = Now + TimeValue ("00:00:05")
  Application.OnTime NextTick, "UpdateClock"
End Sub
Sub StopClock()
' Ακυρώνει το συμβάν OnTime (σταματά το ρολόι)
  Σφάλμα Συνέχιση Επόμενο
  Application.OnTime NextTick, “UpdateClock”, , False
End Sub

Το συμβάν OnTime παραμένει ακόμα και μετά το κλείσιμο του βιβλίου εργασίας. Με άλλα λόγια, εάν κλείσετε το βιβλίο εργασίας χωρίς να εκτελέσετε τη διαδικασία StopClock, το βιβλίο εργασίας θα ανοίξει ξανά σε πέντε δευτερόλεπτα (υποθέτοντας ότι το Excel εξακολουθεί να εκτελείται). Για να αποτρέψετε αυτό, χρησιμοποιήστε μια διαδικασία συμβάντος Workbook_BeforeClose που περιέχει την ακόλουθη δήλωση:

Καλέστε το StopClock

Η μέθοδος OnTime έχει δύο επιπλέον ορίσματα. Εάν σκοπεύετε να χρησιμοποιήσετε αυτήν τη μέθοδο, θα πρέπει να ανατρέξετε στο σύστημα Βοήθειας για πλήρεις λεπτομέρειες.

Εάν θέλετε να δείτε μια αρκετά περίπλοκη εφαρμογή, ρίξτε μια ματιά σε αυτήν την εφαρμογή αναλογικού ρολογιού. Η πρόσοψη του ρολογιού είναι στην πραγματικότητα ένα γράφημα και το γράφημα ενημερώνεται κάθε δευτερόλεπτο για να εμφανίζει την ώρα της ημέρας. Άχρηστο, αλλά διασκεδαστικό.

Τρόπος χρήσης συμβάντων OnTime και Συμβάντων πλήκτρων στο Excel 2016 VBA

Μια εφαρμογή αναλογικού ρολογιού.

Συμβάντα πατήματος πλήκτρων

Ενώ εργάζεστε, το Excel παρακολουθεί συνεχώς αυτό που πληκτρολογείτε. Εξαιτίας αυτού, μπορείτε να ρυθμίσετε τα πράγματα έτσι ώστε ένα πάτημα πλήκτρων ή ένας συνδυασμός πλήκτρων να εκτελεί μια διαδικασία.

Ακολουθεί ένα παράδειγμα που εκχωρεί εκ νέου τα κλειδιά PgDn και PgUp:

Sub Setup_OnKey()
  Application.OnKey "{PgDn}", "PgDn_Sub"
  Application.OnKey "{PgUp}", "PgUp_Sub"
End Sub
Sub PgDn_Sub()
  Σφάλμα Συνέχιση Επόμενο
  ActiveCell.Offset(1, 0).Ενεργοποίηση
End Sub
Sub PgUp_Sub()
  Σφάλμα Συνέχιση Επόμενο
  ActiveCell.Offset(-1, 0).Ενεργοποίηση
End Sub

Αφού ρυθμίσετε τα συμβάντα OnKey εκτελώντας τη διαδικασία Setup_OnKey, πατώντας το PgDn μετακινηθείτε προς τα κάτω κατά μία σειρά. Πατώντας το PgUp μετακινηθείτε μία σειρά προς τα πάνω.

Παρατηρήστε ότι οι κωδικοί των κλειδιών περικλείονται σε αγκύλες και όχι σε παρενθέσεις. Για μια πλήρη λίστα κωδικών πληκτρολογίου, συμβουλευτείτε το σύστημα Βοήθειας. Αναζήτηση για OnKey.

Σε αυτό το παράδειγμα, το On Error Resume Next χρησιμοποιείται για να αγνοήσει τυχόν σφάλματα που δημιουργούνται. Για παράδειγμα, εάν το ενεργό κελί βρίσκεται στην πρώτη σειρά, η προσπάθεια μετακίνησης προς τα επάνω κατά μία σειρά προκαλεί ένα σφάλμα που μπορεί να αγνοηθεί με ασφάλεια. Και αν ένα φύλλο γραφήματος είναι ενεργό, δεν υπάρχει ενεργό κελί.

Εκτελώντας την ακόλουθη ρουτίνα, ακυρώνετε τα συμβάντα OnKey:

Sub Cancel_OnKey()
  Application.OnKey "{PgDn}"
  Application.OnKey "{PgUp}"
End Sub

Η χρήση κενού συμβολοσειράς ως δεύτερου ορίσματος για τη μέθοδο OnKey δεν ακυρώνει το συμβάν OnKey. Αντίθετα, αναγκάζει το Excel να αγνοήσει απλώς το πάτημα πλήκτρων. Για παράδειγμα, η ακόλουθη δήλωση λέει στο Excel να αγνοήσει το Alt+F4. Το σύμβολο ποσοστού αντιπροσωπεύει το κλειδί Alt:

  Application.OnKey "%{F4}", ""

Αν και μπορείτε να χρησιμοποιήσετε τη μέθοδο OnKey για να εκχωρήσετε ένα κλειδί συντόμευσης για την εκτέλεση μιας μακροεντολής, θα πρέπει να χρησιμοποιήσετε το πλαίσιο διαλόγου Επιλογές μακροεντολής για αυτήν την εργασία.

Εάν κλείσετε το βιβλίο εργασίας που περιέχει τον κώδικα και αφήσετε το Excel ανοιχτό, η μέθοδος OnKey δεν θα επαναφερθεί. Κατά συνέπεια, πατώντας το πλήκτρο συντόμευσης, το Excel θα ανοίξει αυτόματα το αρχείο με τη μακροεντολή. Για να μην συμβεί αυτό, θα πρέπει να συμπεριλάβετε κώδικα στον κώδικα συμβάντος Workbook_BeforeClose για να επαναφέρετε το συμβάν OnKey.


Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows

Πώς να αποκλείσετε το Microsoft Word από το άνοιγμα αρχείων σε λειτουργία μόνο για ανάγνωση στα Windows Το Microsoft Word ανοίγει αρχεία σε λειτουργία μόνο για ανάγνωση, καθιστώντας αδύνατη την επεξεργασία του; Μην ανησυχείτε, οι μέθοδοι είναι παρακάτω

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Πώς να διορθώσετε τη λανθασμένη εκτύπωση εγγράφων του Microsoft Word

Τρόπος διόρθωσης σφαλμάτων κατά την εκτύπωση λανθασμένων εγγράφων του Microsoft Word Τα σφάλματα στην εκτύπωση εγγράφων Word με αλλαγμένες γραμματοσειρές, ακατάστατες παραγράφους, κείμενο που λείπει ή χαμένο περιεχόμενο είναι αρκετά συνηθισμένα. Ωστόσο, μην το κάνετε

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Διαγράψτε τα σχέδια με στυλό και επισημάνσεις στις διαφάνειες του PowerPoint σας

Εάν έχετε χρησιμοποιήσει το στυλό ή το highlighter για να σχεδιάσετε στις διαφάνειες του PowerPoint κατά τη διάρκεια μιας παρουσίασης, μπορείτε να αποθηκεύσετε τα σχέδια για την επόμενη παρουσίαση ή να τα σβήσετε, ώστε την επόμενη φορά που θα το δείξετε να ξεκινήσετε με καθαρές διαφάνειες PowerPoint. Ακολουθήστε αυτές τις οδηγίες για να διαγράψετε σχέδια με στυλό και επισημάνσεις: Σβήσιμο γραμμών μία στο […]

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Περιεχόμενα της βιβλιοθήκης στυλ στο SharePoint 2010

Η βιβλιοθήκη στυλ περιέχει αρχεία CSS, αρχεία επεκτάσιμης γλώσσας φύλλου στυλ (XSL) και εικόνες που χρησιμοποιούνται από προκαθορισμένες κύριες σελίδες, διατάξεις σελίδων και στοιχεία ελέγχου στο SharePoint 2010. Για να εντοπίσετε αρχεία CSS στη βιβλιοθήκη στυλ μιας τοποθεσίας δημοσίευσης: Επιλέξτε Ενέργειες τοποθεσίας→ Προβολή Όλο το περιεχόμενο του ιστότοπου. Εμφανίζεται το περιεχόμενο του ιστότοπου. Η βιβλιοθήκη Style βρίσκεται στο […]

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μορφοποίηση αριθμών σε χιλιάδες και εκατομμύρια σε αναφορές του Excel

Μην κατακλύζετε το κοινό σας με τεράστιους αριθμούς. Στο Microsoft Excel, μπορείτε να βελτιώσετε την αναγνωσιμότητα των πινάκων εργαλείων και των αναφορών σας μορφοποιώντας τους αριθμούς σας ώστε να εμφανίζονται σε χιλιάδες ή εκατομμύρια.

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Τρόπος κοινής χρήσης και παρακολούθησης τοποθεσιών του SharePoint

Μάθετε πώς να χρησιμοποιείτε τα εργαλεία κοινωνικής δικτύωσης του SharePoints που επιτρέπουν σε άτομα και ομάδες να επικοινωνούν, να συνεργάζονται, να μοιράζονται και να συνδέονται.

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Πώς να μετατρέψετε ημερομηνίες σε μορφές Julian στο Excel

Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται συχνά σε περιβάλλοντα παραγωγής ως χρονική σήμανση και γρήγορη αναφορά για έναν αριθμό παρτίδας. Αυτός ο τύπος κωδικοποίησης ημερομηνίας επιτρέπει στους λιανοπωλητές, τους καταναλωτές και τους αντιπροσώπους υπηρεσιών να προσδιορίσουν πότε κατασκευάστηκε ένα προϊόν και, επομένως, την ηλικία του προϊόντος. Οι ημερομηνίες του Ιουλιανού χρησιμοποιούνται επίσης στον προγραμματισμό, τον στρατό και την αστρονομία. Διαφορετικές […]

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Πώς να δημιουργήσετε μια εφαρμογή Web Access

Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού στην Access 2016. Τι είναι λοιπόν μια εφαρμογή Ιστού; Λοιπόν, ο Ιστός σημαίνει ότι είναι διαδικτυακός και η εφαρμογή είναι απλώς συντομογραφία της «εφαρμογής». Μια προσαρμοσμένη εφαρμογή Ιστού είναι μια διαδικτυακή εφαρμογή βάσης δεδομένων στην οποία έχει πρόσβαση από το cloud χρησιμοποιώντας ένα πρόγραμμα περιήγησης. Δημιουργείτε και συντηρείτε την εφαρμογή Ιστού στην έκδοση για υπολογιστές […]

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Γραμμή γρήγορης εκκίνησης στο SharePoint 2010

Οι περισσότερες σελίδες στο SharePoint 2010 εμφανίζουν μια λίστα με συνδέσμους πλοήγησης στη γραμμή γρήγορης εκκίνησης στην αριστερή πλευρά της σελίδας. Η γραμμή γρήγορης εκκίνησης εμφανίζει συνδέσμους προς επιλεγμένο περιεχόμενο ιστότοπου, όπως λίστες, βιβλιοθήκες, τοποθεσίες και σελίδες δημοσίευσης. Η γραμμή γρήγορης εκκίνησης περιλαμβάνει δύο πολύ σημαντικούς συνδέσμους: Σύνδεσμος όλου του περιεχομένου του ιστότοπου: Η […]

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Για απλά προβλήματα, ο Επίλυση στο Excel συνήθως βρίσκει γρήγορα τις βέλτιστες τιμές μεταβλητής Επίλυσης για τη συνάρτηση αντικειμένου. Ωστόσο, σε ορισμένες περιπτώσεις, ο Επίλυση δυσκολεύεται να βρει τις τιμές της μεταβλητής Επίλυσης που βελτιστοποιούν τη συνάρτηση στόχου. Σε αυτές τις περιπτώσεις, ο Επίλυση εμφανίζει συνήθως ένα μήνυμα ή ένα μήνυμα σφάλματος που περιγράφει ή συζητά το πρόβλημα που […]