εκτύπωση θέματος   βρείτε μας στο facebook   σχόλια - παρατηρήσεις
Θέση: Ενότητες θεμάτων / Μακροεντολές / Ταξινόμηση μακροεντολών
  
αναζήτηση σε adaeion.gr

σχετικά θέματα Σχετικά θέματα

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

Εμφάνιση της καρτέλας Προγραμματιστής

Εγκατάσταση μακροεντολής

Καταγραφή μακροεντολής

Ταξινόμηση μακροεντολών

Όταν δημιουργείτε μία μακροεντολή με το εργαλείο Καταγραφή μακροεντολής, το Word μετατρέπει αυτόματα τις επιλογές που κάνετε κατά την καταγραφή σε κώδικα, που καταχωρεί σε ένα στοιχείο προγραμματισμού, το module (Λειτουργική μονάδα) και το οποίο αποθηκεύει με το όνομα NewMacros. Επομένως, αν έχετε δημιουργήσει π.χ. πέντε μακροεντολές, ο κώδικας και των πέντε είναι καταχωρημένος στο module NewMacros.

Αυτό δεν δημιουργεί πρόβλημα όταν εκτελείτε μία από αυτές τις μακροεντολές, γιατί ο κώδικας είναι καταχωρημένος σε ξεχωριστά μπλοκ που ονομάζονται υπο-ρουτίνες (subroutines), και το Word "ξέρει" που αρχίζει και που τελειώνει ο κώδικας της κάθε μακροεντολής. Οι δυσκολίες θα αρχίσουν να εμφανίζονται όταν θέλετε να διαχειριστείτε αυτές τις μακροεντολές. Π.χ. δεν μπορείτε να χρησιμοποιήσετε το πλαίσιο διαλόγου Οργάνωση [1] για να αντιγράψετε μια μακροεντολή από ένα πρότυπο ή έγγραφο σε κάποιο άλλο. Θα πρέπει να αντιγράψετε ολόκληρο το module NewMacros, οπότε θα αντιγραφούν και οι πέντε μακροεντολές μαζί. Ακόμα χειρότερα, δεν μπορείτε να διαγράψετε μία μακροεντολή. Διαγράφοντας το module NewMacros, θα διαγραφούν και οι πέντε!

ΣΗΜΕΙΩΣΕΙΣ

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

  1. Με ανοιγμένο το Word πατήστε την συντόμευση ALT+F11 για να εμφανιστεί ο VB Editor.

    vb editor

    Εικ. 1 Περιβάλλον εργασίας VB Editor

  2. Κλείστε όσα παράθυρα κώδικα είναι τυχόν ανοικτά.
  3. Στον Project Explorer (αν δεν εμφανίζεται πατήστε CTRL+R) εντοπίστε το module NewMacros και κάνετε διπλό κλικ για να το ανοίξετε.

    ΣΗΜΕΙΩΣΗ Στο παράδειγμα της εικόνας 1 εμφανίζεται το module NewMacros που ανήκει στο project Normal (το βασικό πρότυπο). Ο Project Explorer εμφανίζει τα πρότυπα και τα αρχεία που είναι ανοικτά στο Word κατά την δεδομένη στιγμή. Αν σε σας δεν εμφανίζεται το module NewMacros, επιστρέψτε στο Word και ανοίξτε το συγκεκριμένο πρότυπο ή το έγγραφο, όπου είχατε αποθηκεύσει τις μακροεντολές.

    παράθυρο κώδικα μακροεντολών

    Εικ. 2 Κώδικας μακροεντολών στο module NewMacros

  4. Επιλέξτε τον κώδικα της πρώτης μακροεντολής (στο παράδειγμα της εικόνας 2 από το Sub allCapitals() έως και το End Sub πάνω από την διαχωριστική γραμμή) και μεταφέρετέ τον στο Πρόχειρο με αποκοπή (CTRL+X).

    ΣΗΜΕΙΩΣΗ Ο VB Editor προσθέτει την διαχωριστική γραμμή αυτόματα, αμέσως μετά την δήλωση End Sub, που θεωρεί ως τέλος της μακροεντολής. Ωστόσο, αυτό ισχύει απόλυτα μόνο όταν οι μακροεντολές έχουν δημιουργηθεί με το εργαλείο Καταγραφή μακροεντολής. Εάν έχετε βρει τον κώδικα από άλλη πηγή, π.χ. από κάποιον που γνωρίζει προγραμματισμό σε VBA, ίσως το End Sub να μην ορίζει το τέλος της μακροεντολής. Για περισσότερες λεπτομέρειες δείτε το θέμα Γνωριμία με τον Visual Basic Editor [2].

  5. Στον Project Explorer κάνετε δεξί κλικ στο όνομα του project όπου ανήκει το module NewMacros, και στη συνέχεια δείξτε την εντολή Insert και επιλέξτε Module.

    Αυτό δημιουργεί ένα νέο module με όνομα Module1 (ή Module2 αν το Module1 υπάρχει ήδη κ.ο.κ.) και ταυτόχρονα εμφανίζει το παράθυρο επεξεργασίας του κώδικα.

  6. Κάνετε επικόλληση (CTRL+V) τον κώδικα που είχατε μεταφέρει στο Πρόχειρο (βήμα 4).
  7. Μετονομάστε το Module1 σε κάτι πιο περιγραφικό. Π.χ. δώστε του το όνομα που έχει και η μακροεντολή που περιέχει. Για να το κάνετε αυτό:
    1. Στο παράθυρο του κώδικα επιλέξτε το όνομα της μακροεντολής (η λέξη μετά την δήλωση Sub, χωρίς το ζεύγος παρενθέσεων) και αντιγράψτε το στο Πρόχειρο (CTRL+C).
    2. Βεβαιωθείτε ότι είναι ακόμα επιλεγμένο το Module1 στον Project Explorer, και στη συνέχεια μεταβείτε στο πλαίσιο Properties (αν δεν εμφανίζεται πατήστε F4).
    3. Στο πεδίο (Name) διαγράψτε το όνομα που εμφανίζεται και κάνετε επικόλληση (CTRL+V) το όνομα της μακροεντολής.
  8. Κλείστε το παράθυρο με τον κώδικα της μακροεντολής που δημιουργήσατε.
  9. Επαναλάβετε τα βήματα 4-8 για να δημιουργήσετε όσα modules χρειάζονται για να μεταφέρετε τον κώδικα κάθε μακροεντολής από το module NewMacros.

    ΠΡΟΤΑΣΗ Όταν φτάσετε στον κώδικα της τελευταίας μακροεντολής στο module NewMacros δεν χρειάζεται να τον μεταφέρετε σε νέο module. Απλά μετονομάστε το module NewMacros με το όνομα της μακροεντολής που έχει μείνει. Το Word θα δημιουργήσει αυτόματα ένα νέο module NewMacros την επόμενη φορά που θα χρειαστεί (όταν κάνετε την καταγραφή μιας νέας μακροεντολής).

  10. Κλείστε τον VB Editor και αποθηκεύστε το έγγραφο.
Ανάρτηση σχολίων στο blog

Παραπομπές δεσμών θέματος

[1] www.adaeion.gr/word/c/organizer_dialog_box.html

[2] www.adaeion.gr/word/r/vbe_getting_started.html

Δημοσίευση: Δευτέρα, 8 Φεβ 2010