Τρίτη 7 Μαΐου 2019

Τι πρέπει να γνωρίζετε για τις μακροεντολές

Μια μακροεντολή είναι ένα σύνολο βημάτων, τα οποία μπορείτε να εκτελέσετε με μια κίνηση. Τέτοια βήματα είναι η πληκτρολόγηση κειμένου, το διπλό κλικ για την επιλογή μιας λέξης, το κλικ σε ένα κουμπί της κορδέλας, η χρήση μιας συντόμευσης πληκτρολογίου κ.ά. Οι μακροεντολές μπορούν να αυτοματοποιήσουν σχεδόν οποιαδήποτε εργασία κάνετε στο Word, και ακόμα περισσότερο, να κάνουν ενέργειες που νομίζατε ότι δεν μπορούσαν να γίνουν.

Οι μακροεντολές είναι γραμμένες στη γλώσσα προγραμματισμού Visual Basic for Applications (VBA), αλλά εσείς δεν χρειάζεται να είστε προγραμματιστής για να τις δημιουργήσετε. Μπορείτε π.χ. να καταγράψετε μια μακροεντολή, όπως μαγνητοφωνείτε κάτι σε μαγνητόφωνο. Όταν χρησιμοποιείτε το εργαλείο Καταγραφή μακροεντολής, το Word αυτόματα "μαγνητοφωνεί" τις ενέργειες που κάνετε, και τις μετατρέπει αυτόματα σε κώδικα VBA.

Πού καταχωρίζονται οι μακροεντολές

Οι μακροεντολές δεν αποτελούν ανεξάρτητα αρχεία. Είναι στοιχεία προγραμματισμού, και ως τέτοια ενσωματώνονται σε ένα έγγραφο ή πρότυπο, με τη μορφή modules (λειτουργικών μονάδων), μαζί με διάφορα άλλα στοιχεία προγραμματισμού που χρησιμοποιεί το Word. Για να δείτε και να διαχειριστείτε αυτά τα στοιχεία προγραμματισμού μπορείτε να χρησιμοποιήσετε το εργαλείο VB Editor.

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

  • Βασικό πρότυπο
    Τα περισσότερα άρθρα που ασχολούνται με τις μακροεντολές, προτείνουν ως τον καλύτερο χώρο αποθήκευσης το πρότυπο, εννοώντας το Βασικό πρότυπο του Word, Normal.dotm. Αυτή είναι μια καλή πρόταση, καθώς οι μακροεντολές που αποθηκεύονται στο βασικό πρότυπο είναι διαθέσιμες σε όλα τα έγγραφα. Ωστόσο έχει το μειονέκτημα ότι δεν μπορεί να μεταφερθεί εύκολα από ένα υπολογιστή Α σε έναν υπολογιστή Β. Η αντικατάσταση του πρότυπου στον υπολογιστή Β από το πρότυπο του Α θα καταργήσει τυχόν άλλες ρυθμίσεις και προσαρμογές που είχε κάνει ο χρήστης του Β.
    Το μειονέκτημα αναφέρουν και άρθρα της Microsoft αλλά δεν είναι απόλυτα ακριβές. Μπορεί να γίνει εξαγωγή/εισαγωγή μόνο του κώδικα της μακροεντολής μεταξύ των δύο υπολογιστών, π.χ. με την Οργάνωση, χωρίς να επηρεαστούν οι υπόλοιπες ρυθμίσεις στο βασικό πρότυπο του Β.
  • Καθολικό πρότυπο
    Αν εξαιρέσουμε την πρόσθετη διαδικασία που χρειάζεται για τη δημιουργία και την αποθήκευση ενός καθολικού προτύπου, η χρήση του για την αποθήκευση των μακροεντολών είναι πολύ καλή πρόταση. Εκτός του ότι με αυτόν τον τρόπο δεν "ανακατεύετε" τις προεπιλεγμένες λειτουργίες του Word με τις δικές σας ρυθμίσεις και προσαρμογές, έχετε μεγαλύτερη ευελιξία στη διαχείρισή του και τη μεταφορά του από έναν υπολογιστή σε έναν άλλο.
  • Έγγραφο
    Η αποθήκευση της μακροεντολής σε ένα έγγραφο έχει περιορισμένη λειτουργικότητα: Η μακροεντολή θα λειτουργεί μόνο όταν το συγκεκριμένο έγγραφο είναι ανοικτό.

Ονοματολογία μακροεντολών

Όταν θέλετε να καταγράψετε μια μακροεντολή, ανάμεσα στις πρώτες επιλογές που πρέπει να κάνετε είναι να δηλώσετε το όνομα της μακροεντολής. Το όνομα της μακροεντολής πρέπει να τηρεί τις ακόλουθες προϋποθέσεις:

  • Πρέπει να αρχίζει από γράμμα και να περιέχει μόνο γράμματα, αριθμούς και παύλες υπογράμμισης (_), χωρίς κενά διαστήματα.
  • Το όνομα μπορεί να έχει μέχρι 80 χαρακτήρες.
  • Συνήθως χρησιμοποιούνται αγγλικοί χαρακτήρες αλλά και οι ελληνικοί ισχύουν.
  • Δεν μπορείτε να χρησιμοποιήσετε τα επόμενα ονόματα, τα οποία έχει παρακρατήσει το Word, για μακροεντολές που εκτελούνται όταν λαμβάνει χώρα ένα συγκεκριμένο συμβάν:
    Η μακροεντολή... εκτελείται όταν...
    AutoExec ανοίγετε το Word
    AutoExit κλείνετε το Word
    AutoOpen ανοίγετε ένα έγγραφο
    AutoNew δημιουργείτε ένα νέο έγγραφο
    AutoClose κλείνετε ένα έγγραφο

Στοιχεία μιας μακροεντολής

Η μακροεντολή αποτελείται από κώδικα VBA, σε ένα ενιαίο σύνολο εντολών, γνωστό με το όνομα ρουτίνα (routine). Η επόμενη μακροεντολή μετατρέπει τους χαρακτήρες ενός επιλεγμένου κειμένου σε κεφαλαία, και στη συνέχεια ο δείκτης μεταφέρεται στο τέλος της επιλεγμένης περιοχής:

Sub allCapitals()
  Selection.Range.Case = wdUpperCase
  Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub

Στο ανωτέρω παράδειγμα, εμφανίζονται τα μέρη, που αποτελούν μια μακροεντολή:

  • Η μακροεντολή αρχίζει με τη δήλωση έναρξης της ρουτίνας Sub.
  • Στην ίδια γραμμή ακολουθεί το όνομα της μακροεντολής με ένα ζεύγος παρενθέσεων allCapitals().
  • Οι επόμενες γραμμές περιλαμβάνουν τον πραγματικό κώδικα, αυτόν που εκτελείται όταν χρησιμοποιείτε τη μακροεντολή.
  • Η τελευταία γραμμή είναι η δήλωση τέλους της ρουτίνας End Sub.

Περισσότερες πληροφορίες για τον κώδικα μιας μακροεντολής δείτε την ενότητα Κώδικας μακροεντολής του θέματος Γνωριμία με τον Visual Basic Editor.

Θέματα ασφαλείας

Οι μακροεντολές μπορεί να είναι χρήσιμες, αλλά ταυτόχρονα να είναι και βλαβερές. Η ασφάλεια σχετικά με τη χρήση των μακροεντολών είναι ένα πολύ σημαντικό θέμα. Μια μακροεντολή που έχει γραφεί με κακό σκοπό μπορεί να καταστρέψει όχι μόνο τα έγγραφά σας αλλά και ολόκληρο το σύστημα του υπολογιστή.

Αν γνωρίζετε VBA, μπορείτε να ελέγξετε τον κώδικα της μακροεντολής για να διαπιστώσετε αν η χρήση της είναι ασφαλής ή όχι. Αν δεν γνωρίζετε VBA, ο βασικός κανόνας είναι να μη χρησιμοποιείτε μακροεντολές που δεν εμπιστεύεστε την προέλευσή τους. Επιπλέον, στο Word (και σε όλες τις εφαρμογές του Office) μπορείτε να ορίσετε το επίπεδο ασφαλείας που θα χρησιμοποιείται, ώστε να εμφανίζεται μια προειδοποίηση κάθε φορά που ανοίγετε ένα έγγραφο με μακροεντολές και να επιλέγετε ποια μακροεντολή θα εκτελείται και ποια όχι.

Σύνοψη
Θέμα
Τι πρέπει να γνωρίζετε για τις μακροεντολές
Κείμενο
Γιώργος ο Αδαής
Συμβολή

– Ενσωματωμένα αρχεία Βοήθειας του Word

Ταυτότητα
2.02.006/0046
Έκδοση
17/7/10
Αναθεώρηση
7/5/19

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου