Εκτέλεση μακροεντολής. Κατανόηση μακροεντολών και μακροεντολών Αναθέστε εργασίες μόνοι σας

ΜΑΚΡΟΣ.

Οι περισσότεροι χρήστες δημιουργούν και χρησιμοποιούν έγγραφα του Microsoft Office χρησιμοποιώντας τυπικές δυνατότητες εφαρμογών. Ωστόσο, το Office παρέχει άφθονες ευκαιρίες για αυτοματοποίηση της εργασίας με έγγραφα - πρόκειται για προγραμματισμό σε VBA και χρήση μακροεντολών.

Το VBA, η γλώσσα προγραμματισμού Visual Basic for Applications, είναι μια γλώσσα προγραμματισμού ενσωματωμένη σε εφαρμογές του Office που χρησιμοποιείται για τη δημιουργία μακροεντολών.

Μακροεντολή και μακροεντολή.

Αντί να επαναλαμβάνετε μονότονες εντολές στο MS Office, μπορείτε να δημιουργήσετε μια μακροεντολή που θα εκτελεί αυτόματα αυτήν την ακολουθία εντολών. Η μακροεντολή σάς επιτρέπει να εισάγετε μονόκλινομια εντολή που εκτελεί την ίδια εργασία με μια ομάδα εντολών.

Η μακροεντολή είναι ένα πρόγραμμα γραμμένο σε VBA. Το VBA είναι μια ειδική έκδοση του Visual Basic (για εφαρμογή).

Υπάρχουν 2 τρόποι για να δημιουργήσετε μια μακροεντολή στο Office:

Μακροεντολή εγγραφής ενεργειών χρήστη

§ άνοιγμα παραθύρου VBA και εισαγωγή δηλώσεων VBA

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

Για να εργαστείτε με μακροεντολές στο MS Office 2007-13, εμφανίστε την καρτέλα DEVELOPER στην κορδέλα (κουμπί OFFICE / Word PARAMETERS / RIBBON SETTINGS).

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

Μακρο εγγραφή.

Tab καρτέλα DEVELOPER / RECORD MACRO, δώστε ένα όνομα στη μακροεντολή. Το όνομα δεν πρέπει να περιέχει κενά, να ξεκινά με ένα γράμμα και να μην περιέχει ειδικούς χαρακτήρες. το μέγιστο μήκος ονόματος είναι 80 χαρακτήρες. Εάν στη δημιουργηθείσα μακροεντολή δοθεί ένα όνομα που ταιριάζει με το όνομα μιας ενσωματωμένης μακροεντολής Microsoft Word, η υπάρχουσα μακροεντολή αντικαθίσταται από τη νέα.

Εκτέλεση εντολών

Tab καρτέλα DEVELOPER / STOP RECORD

Συνήθως, η μακροεντολή είναι διαθέσιμη για το πρότυπο Normal.dot, αποθηκεύεται αυτόματα με αυτό.

Εκτέλεση μακροεντολής.

Tab καρτέλα DEVELOPER / MACROS, επιλέξτε την επιθυμητή και ΕΚΤΕΛΕΣΤΕ.



Αντιστοίχιση μακροεντολής σε ένα κουμπί στη γραμμή εργαλείων γρήγορης πρόσβασης ή / και συντόμευση πληκτρολογίου.

Button ή κουμπί OFFICE / ΠΑΡΑΜΕΤΡΟΙ Word / ΡΥΘΜΙΣΕΙΣ

§ ή επιλέξτε τις κατάλληλες ενέργειες κατά την εκχώρηση ονόματος στη μακροεντολή.

Κατά την εκχώρηση συντομεύσεων πληκτρολογίου σε μια μακροεντολή, λάβετε υπόψη ότι πολλές συντομεύσεις διατηρούνται στο Worde και δεν είναι εύκολο να βρείτε έναν "δωρεάν" συνδυασμό.

Διαγραφή μακροεντολής.

Tab καρτέλα DEVELOPER / MACROS, επιλέξτε την επιθυμητή και ΔΙΑΓΡΑΦΗ.

Αλλάξτε το κείμενο της μακροεντολής.

Κατά την εγγραφή μιας μακροεντολής, η συσκευή εγγραφής αποθηκεύει μια ακολουθία οδηγιών κειμένου σε VBA. Αυτή η περιγραφή κειμένου ονομάζεται πηγαίος κώδικας. Μπορεί να προβληθεί και να διορθωθεί:

Tab καρτέλα DEVELOPER / MACROS, επιλέξτε την επιθυμητή και ΑΛΛΑΓΗ.

Για εκτέλεση μακροεντολής από τον επεξεργαστή VBA: Κουμπί RUN ()

Δημιουργία μακροεντολών που εκτελούνται αυτόματα.

Το Word έχει 5 ειδικά ονόματα για μακροεντολές

VBA - τα προγράμματα αποτελούνται από μια απλή ακολουθία ενεργειών: ένα πρόγραμμα αποκτά πρόσβαση σε ένα αντικείμενο, του δίνει ιδιότητες και εκτελεί ενέργειες με αυτό. Κάθε έγγραφο, παράγραφος, ... είναι ένα αντικείμενο. Για παράδειγμα, ένα αντικείμενο επιλογής είναι μια επιλογή. Το ίδιο το Word είναι ένα αντικείμενο εφαρμογής. (Δείτε τα Παραρτήματα 2,3)



Κάθε αντικείμενο έχει τα δικά του χαρακτηριστικά - ιδιότητες.

Πολλά αντικείμενα εκτελούν ενέργειες που ονομάζονται μέθοδοι.

Για παράδειγμα,

ActiveDocument.Close (αντικείμενο - ενεργό έγγραφο, μέθοδος - κλείσιμο)

Σύμφωνα με τη σύνταξη VBA, ο διαχωριστής είναι τελικός.

Συνήθως: αντικείμενο, σημείο, μέθοδος και / ή ιδιότητες (χωρίζονται με τελεία)

Δεξί ποντίκι σε ένα αντικείμενο - λίστα μεθόδων, ιδιοτήτων (Ιδιότητες λίστας / Μέθοδοι)

Η ακολουθία με… .. Τέλος με σάς επιτρέπει να καθορίσετε πολλές μεθόδους / ιδιότητες για ένα αντικείμενο χωρίς να επαναλάβετε το όνομά του πολλές φορές.

Πρακτική εργασία 1.

Ας γράψουμε μια μακροεντολή που ονομάζεται "my_first_macro", στην οποία θα γράψουμε τις ακόλουθες εντολές:

§ Οριζόντιος προσανατολισμός σελίδας

Scale Προβολή κλίμακας - 33%

Ως αποτέλεσμα, λαμβάνουμε τον ακόλουθο κώδικα

Sub my_first_macro ()

"

"my_first_macro Macro

"Η μακροεντολή καταγράφηκε στις 03.12.07

Με το ActiveDocument.PageSetup

LineNumbering.Active = Λάθος

Προσανατολισμός = wdOrientLandscape

TopMargin = CentimetersToPoints (1.5)

BottomMargin = CentimetersToPoints (3)

LeftMargin = CentimetersToPoints (2)

.RightMargin = CentimetersToPoints (2)

Gutter = CentimetersToPoints (0)

HeaderDistance = CentimetersToPoints (1,25)

FooterDistance = CentimetersToPoints (1,25)

PageWidth = CentimetersToPoints (29,7)

PageHeight = CentimetersToPoints (21)

FirstPageTray = wdPrinterDefaultBin

OtherPagesTray = wdPrinterDefaultBin

SectionStart = wdSectionNewPage

OddAndEvenPagesHeaderFooter = Λάθος

DifferentFirstPageHeaderFooter = Λάθος

VerticalAlignment = wdAlignVerticalTop

SuppressEndnotes = Λάθος

MirrorMargins = Λάθος

TwoPagesOnOne = Λάθος

GutterPos = wdGutterPosLeft

ActiveWindow.ActivePane.View.Zoom.Percentage = 33

Τέλος υπο

Μπορείτε να διορθώσετε το κείμενο αυτής της μακροεντολής, για παράδειγμα,

§ αλλάξτε το ποσοστό, για παράδειγμα 33 σε 42

§ αλλάξτε τα πεδία

§ αντικατάσταση False με True στη γραμμή.LineNumbering.Active = False (θα υπάρξει αυτόματη αρίθμηση γραμμών)

§ αντικατάσταση στη γραμμή Προσανατολισμός = wdOrientLandscapeστο wdOrientPortrait, ο προσανατολισμός χαρτιού θα είναι κατακόρυφος

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

Πρακτική εργασία 2.

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

Το MessageBox είναι ένα πλαίσιο μηνυμάτων που εμφανίζεται στην οθόνη.

Για να εμφανίσετε ένα MessageBox όταν ανοίγετε οποιοδήποτε αρχείο MS Word, πρέπει να δημιουργήσετε μια μακροεντολή που ονομάζεται AutoOpen και να καλέσετε τη συνάρτηση msgbox μέσα σε αυτήν. Θα μοιάζει με αυτό:

Sub AutoOpen ()

"Αυτή η λειτουργία καλείται κατά το άνοιγμα ενός εγγράφου

"Εμφάνιση του MessageBox

MsgBox "Γεια σου φίλε μου!"

Ακολουθία ενεργειών (μία από τις επιλογές):

Tab καρτέλα DEVELOPER / MACROS, δώστε οποιοδήποτε όνομα και ΔΗΜΙΟΥΡΓΗΣΤΕ

§ Στο παράθυρο του προγράμματος επεξεργασίας VBA, αλλάξτε το όνομα και εκτυπώστε το κείμενο του προγράμματος σε VBA

§ Σώσει

§ Εκκίνηση

Τώρα, με το άνοιγμα κάθε εγγράφου, θα λάβουμε ένα μήνυμα.

Η εντολή για την εμφάνιση του πλαισίου μηνυμάτων μοιάζει με αυτήν:

MsgBox (promt, κουμπί, τίτλος, αρχείο βοήθειας)

Το Promt είναι ένα απαιτούμενο όρισμα που καθορίζει το κείμενο που θα εμφανιστεί στο πλαίσιο μηνυμάτων

Κουμπί - ένα προαιρετικό όρισμα που καθορίζει τον τύπο του πλαισίου μηνυμάτων, την παρουσία των κουμπιών Εντάξει, Ακύρωση, Διακοπή, Παράλειψη κ.λπ.

Τίτλος - ένα προαιρετικό όρισμα που καθορίζει τον τίτλο του παραθύρου

· Helpfile– ένα προαιρετικό όρισμα που καθορίζει ποιο αρχείο βοήθειας θα ανοίξει εάν ο χρήστης πατήσει F1

Πρακτική εργασία 3.

Δημιουργία απλού πλαισίου διαλόγου.

Για να δημιουργήσετε ένα παράθυρο διαλόγου, πρέπει να δημιουργήσετε ένα οπτικό αντικείμενο που ονομάζεται φόρμα. Μια φόρμα είναι ένα ανάλογο παραθύρου στο οποίο μπορείτε να τοποθετήσετε στοιχεία ελέγχου (κουμπιά, κουμπιά επιλογής, πλαίσια ελέγχου κλπ.). Κάθε φόρμα αποτελεί μέρος της διεπαφής χρήστη. Κάθε μορφή είναι ένα αντικείμενο και, με τη σειρά του, περιέχει πολλά αντικείμενα, καθένα από τα οποία μπορεί να ελεγχθεί ξεχωριστά.

Δημιουργία φόρμας:

Window Παράθυρο VBA (ALT + F11)

ΕΙΣΑΓΩΓΗ / Νέα φόρμα ή UserForm (εισαγάγετε μια νέα φόρμα)

Window Στο παράθυρο Ιδιότητες, μπορείτε να διαμορφώσετε τις ιδιότητες της φόρμας, για παράδειγμα, η ιδιότητα Λεζάντα σας επιτρέπει να δώσετε στη φόρμα ένα όνομα

§ Χρησιμοποιώντας τον πίνακα ToolBox, ορίστε τα στοιχεία ελέγχου στη φόρμα:

· Ετικέτα - επιγραφή

CommandButton - ένα κουμπί εντολών για την εκτέλεση μιας ενέργειας

TextBox -πεδίο κειμένου

Εικόνα - σχέδιο

ChtckBox - πλαίσιο ελέγχου

Προσαρμόζουμε τη δουλειά κάθε στοιχείου. Για παράδειγμα, 2 κλικ στο CommandButton θα σας επιτρέψουν να γράψετε αυτές τις προτάσεις VBA που πρέπει να εκτελούνται όταν πατήσετε αυτό το κουμπί.

Για να εμφανιστεί ένα τέτοιο παράθυρο διαλόγου κατά την εκτέλεση μιας μακροεντολής, πρέπει να προσθέσετε τις ακόλουθες γραμμές στη μακροεντολή:

Φόρτωση UserForm1

UserForm1.Show

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


Η μακροεντολή που δημιουργήθηκε πρέπει να εκτελεστεί. Υπάρχουν διάφοροι τρόποι εκτέλεσης μακροεντολών:

1. Μέσω μιας εντολής Μακροεντολές -> Μακροεντολή -> Υπηρεσία

2. Χρήση συνδυασμού πλήκτρων που έχουν εκχωρηθεί στη μακροεντολή.

3. Με την εντολή μενού που έχει εκχωρηθεί σε αυτήν τη μακροεντολή.

4. Μέσω του κουμπιού που έχει εκχωρηθεί σε αυτήν τη μακροεντολή στη γραμμή εργαλείων.

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

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

1. Ομάδα Μακροεντολές -> Μακροεντολή -> Υπηρεσία- η τυπική έκδοση κλήσης μιας μακροεντολής για εκτέλεση. Στο παράθυρο διαλόγου Μακροεντολή, επιλέξτε τη μακροεντολή που δημιουργήσατε και κάντε κλικ στο κουμπί [Εκτέλεση]. Αυτή η μέθοδος είναι επίσης κατάλληλη για επεξεργασία και διαγραφή μακροεντολής - τα κουμπιά [Επεξεργασία], [Διαγραφή].

2. Χρήση του συνδυασμού πλήκτρων (εικ. 2):

Ρύζι. 2. Κουτί διαλόγου. Διαμόρφωση του πληκτρολογίου για ανάθεσημακροεντολή

συντομεύσεις πληκτρολογίου στο Microsoft Word.

2. Για να καλέσετε μια μακροεντολή σε ένα παράθυρο διαλόγου Προσαρμογή πληκτρολογίουστην καρτέλα Νέα συντόμευση πληκτρολογίουυποδεικνύεται ένας συνδυασμός πλήκτρων ελέγχου. Για παράδειγμα, μαζί με συνδυασμό αριθμητικών ή αλφαβητικών κλειδιών (στα Λατινικά).

Στη συνέχεια, γίνεται κλικ στο κουμπί [Εκχώρηση], το οποίο κάνει την ανάθεση.

3. Κλήση με μια εντολή στο μενού - πραγματοποιείται η τυπική ρύθμιση του μενού: προσθήκη ενός στοιχείου μενού που σχετίζεται με την κλήση μιας εντολής μακροεντολής:

Στο παράθυρο διαλόγου που εμφανίζεται Προσαρμογή, στην καρτέλα Εντολέςαπό combo box Κατηγορίεςεπιλέγεται η ομάδα Μακροεντολέςακολουθούμενο από το όνομα της μακροεντολής.

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

4. Χρησιμοποιώντας το κουμπί που έχει εκχωρηθεί σε αυτήν τη μακροεντολή στη γραμμή εργαλείων (Εικ. 3):

Στο Word, όταν κάνετε κλικ στο κουμπί [Πίνακες] (δείτε Εικ. 1) στο παράθυρο διαλόγου Εγγραφήεμφανίζεται το παράθυρο διαλόγου μακροεντολή Προσαρμογήστην οποία η καρτέλα Εντολέςαπό combo box Κατηγορίεςεπιλεγμένο Μακροεντολέςακολουθούμενο από το όνομα της μακροεντολής.

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

κάνοντας κλικ στο κουμπί [Αλλαγή επιλεγμένου αντικειμένου], μπορείτε να επιλέξετε το εικονίδιο που σας αρέσει για το κουμπί εκτελώντας την εντολή Επιλέξτε ένα εικονίδιο για ένα κουμπί(εικ. 4). Μπορείτε επίσης να επεξεργαστείτε το εικονίδιο χρησιμοποιώντας την εντολή Αλλάξτε το εικονίδιο για ένα κουμπί(παράθυρο Συντάκτης κουμπιών) (εικ. 5).

Ρύζι. 3. Πλαίσιο διαλόγου Ρυθμίσεις για ανάθεση σε μακροεντολή
κουμπιά της γραμμής εργαλείων στο Microsoft Word.

Ρύζι. 4. Πλαίσιο διαλόγου για την επιλογή εικονιδίου για το κουμπί

Ρύζι. 5. Κουμπιά επεξεργασίας κουτιού διαλόγου

Στο Excel, είναι επιπλέον δυνατή η εκτέλεση μιας μακροεντολής χρησιμοποιώντας το σύμβολο που της έχει εκχωρηθεί.

Αφού επιλέξετε τη μέθοδο κλήσης, εμφανίζεται μια μικρή γραμμή εργαλείων Σταματήστε την εγγραφήπου περιέχει ένα κουμπί:

- [Διακοπή εγγραφής] - τερματίζει την εγγραφή της μακροεντολής.

[Παύση] - διακόπτει την εγγραφή μακροεντολών (εικ. 6).

Εικ. 6 Πίνακας εγγραφής μακροεντολών στο Microsoft Word

  1. Τροποποίηση μακροεντολών

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

Εικ. 7 Διάλογος επεξεργαστή VBA

Η επεξεργασία μακροεντολών πραγματοποιείται χρησιμοποιώντας την εντολή Μακροεντολές... Στο παράθυρο διαλόγου Μακροεντολή, στο πεδίο Ονομαείναι επιλεγμένο το όνομα της μακροεντολής προς επεξεργασία. Η διαδικασία ξεκινά όταν κάνετε κλικ στο κουμπί [Αποσφαλμάτωση]. Μπορείτε να καθορίσετε το όνομα μιας ανύπαρκτης μακροεντολής. Εάν κάνετε κλικ στο κουμπί [Δημιουργία], θα δημιουργηθεί μια νέα μακροεντολή και ο χρήστης θα μπορεί να την καταγράψει σε VBA.

Το κουμπί [Debug] χρησιμοποιείται για να ανοίξει το παράθυρο επεξεργασίας μακροεντολών, το οποίο εμφανίζει τα περιεχόμενα της μακροεντολής σε VBA. Το παράθυρο επεξεργασίας μακροεντολών είναι παρόμοιο με ένα κανονικό παράθυρο εγγράφων, αλλά διακρίνεται από την απουσία χάρακα συντεταγμένων και την παρουσία ειδικής γραμμής εργαλείων. Μπορούν να ανοίξουν πολλά παράθυρα επεξεργασίας μακροεντολών. Το κείμενο μακροεντολής επεξεργάζεται με τον ίδιο τρόπο όπως το κανονικό κείμενο προγράμματος VBA. Σε αυτήν την περίπτωση, οι περισσότερες από τις εντολές επεξεργασίας κειμένου είναι διαθέσιμες, για παράδειγμα, οι εντολές αντίγραφοκαι Κόβω.

Κάνοντας κλικ στο κουμπί [Διαγραφή] διαγράφεται η καθορισμένη μακροεντολή.

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

Βιβλιογραφία:

1. Musin K.A. "Τεχνικό συμπλήρωμα στο Microsoft Word"

2. Borodin A.I "Μακροπρογραμματισμός"

Αν σας άρεσε η μακροεντολή Πλαίσιο ψεκασμού, τότε αναπόφευκτα θα έχετε την επιθυμία να το προσαρμόσετε σύμφωνα με τις ανάγκες σας. Ορισμένες από αυτές τις εργασίες μπορούν να γίνουν χωρίς αλλαγή της μακροεντολής. Για παράδειγμα, μπορείτε να αλλάξετε τις παραμέτρους του φίλτρου για να ελέγξετε την ποσότητα τραχύτητας στις άκρες. Από προεπιλογή, αυτή η μακροεντολή δεν ζητά παραμέτρους κατά την εκτέλεσή της, αλλά χρησιμοποιεί τις παραμέτρους που καθορίζονται όταν γράφτηκε. Μπορείτε να πείτε στη μακροεντολή να εκδίδει ερωτήματα για οποιαδήποτε εντολή που έχει οποιεσδήποτε παραμέτρους. Ας επιδείξουμε χρησιμοποιώντας το παράδειγμα παραμέτρων φίλτρου Ψιχάλα.

  1. Επιλέξτε το πρώτο πλάνο στην παλέτα Ιστορία... Αυτό θα επιστρέψει την εικόνα στην αρχική της κατάσταση.
  2. Βρείτε στην παλέτα Ενέργειεςγραμμή εντολών Ψιχάλακαι κάντε κλικ στο κενό ορθογώνιο στα αριστερά του ονόματος της εντολής. Ένα εικονίδιο που αντιπροσωπεύει το παράθυρο διαλόγου που εμφανίζεται στο σχήμα θα εμφανιστεί σε αυτό.
  3. Spatter frameb.
  4. Ενέργειες.
  5. Κατά την εκτέλεση της εντολής ΨιχάλαΤο Photoshop θα ανοίξει ένα παράθυρο διαλόγου φίλτρου όπου μπορείτε να επιλέξετε τις επιλογές που θέλετε. Προσπαθήστε, για παράδειγμα, να μειώσετε την τιμή Ομαλότηταέως 2.
  6. Κάντε κλικ στο κουμπί Εντάξει... Η μακροεντολή θα συνεχίσει την εκτέλεση.

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

  1. Κάντε κλικ στο σημάδι ελέγχου στα αριστερά του ονόματος της εντολής Κάντε στιγμιότυποστην παλέτα Ενέργειες.
  2. Επιλέξτε το όνομα ολόκληρης της μακροεντολής Spatter Frame.
  3. Εκτελέστε την εντολή μακροεντολής κάνοντας κλικ στο αντίστοιχο εικονίδιο στην παλέτα Ενέργειες.
  4. Ανοίξτε την παλέτα Ιστορίακαι βεβαιωθείτε ότι δεν έχει ληφθεί νέο στιγμιότυπο. Η προσωρινή απενεργοποίηση μιας εντολής είναι πολύ χρήσιμη κατά τη δημιουργία των δικών σας μακροεντολών και κατά τον εντοπισμό σφαλμάτων. Περαιτέρω αλλαγές σίγουρα θα επηρεάσουν την ίδια τη μακροεντολή και θα απαιτήσουν την καταγραφή νέων εντολών και την κατάργηση των υφιστάμενων.

Μακρο εγγραφή.

Αυτή η ενότητα περιγράφει τον τρόπο δημιουργίας μιας απλής αλλά πολύ χρήσιμης μακροεντολής που σας επιτρέπει να κεντράρετε μια εικόνα στο τρέχον επίπεδο. Ας χρησιμοποιήσουμε ένα χαρακτηριστικό της εντολής Επικόλληση: τοποθετεί την εικόνα ακριβώς στο κέντρο του στρώματος. Οποιαδήποτε εικόνα με ένα επίπεδο είναι κατάλληλη για την εγγραφή μιας εντολής μακροεντολής. Ιστορικόκαι ένα ακόμη στρώμα. Η εικόνα που υπάρχει ήδη στην οθόνη πληροί αυτά τα κριτήρια. Κατά τη δημιουργία μιας εντολής μακροεντολής, θα υποθέσουμε ότι το επίπεδο που απαιτεί κεντράρισμα είναι ενεργό τη στιγμή που ξεκινά η εντολή μακροεντολής.

  1. Ενεργοποιήστε το επίπεδο Στρώμα 1.
  2. Ας τοποθετήσουμε τη μακροεντολή σε ένα νέο σύνολο μακροεντολών. Στην παλέτα Ενέργειεςκάντε κλικ στο κουμπί για τη δημιουργία ενός νέου συνόλου μακροεντολών Δημιουργία νέου συνόλου.
  3. Στο ανοιχτό παράθυρο διαλόγου Νέο σετεισαγάγετε ένα όνομα για το νέο σύνολο, για παράδειγμα "Οι ενέργειές μου".
  4. Κάντε κλικ στο OK. Ένα νέο σετ εμφανίστηκε στην παλέτα.
  5. Στην παλέτα Ενέργειεςεπιλέξτε το εικονίδιο για τη δημιουργία μιας νέας μακροεντολής Δημιουργία νέας ενέργειας.
  6. Στο παράθυρο διαλόγου που εμφανίζεται Νέα Δράσηεισαγάγετε το όνομα της μακροεντολής στο πεδίο Ονομαπ.χ. "Κέντρο (στρώμα)". Κάτω από αυτό το πεδίο υπάρχει μια λίστα με όλα τα σύνολα μακροεντολών που υπάρχουν στην παλέτα. Από προεπιλογή, το επιλεγμένο σύνολο είναι επιλεγμένο σε αυτό, Οι Δράσεις μου.Θα ασχοληθούμε με τα υπόλοιπα στοιχεία αυτού του πλαισίου διαλόγου λίγο αργότερα.

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

  1. Κάντε κλικ στο κουμπί Ρεκόρ... Στο εξής, όλες οι ενέργειές σας στο πρόγραμμα θα καταγράφονται στη μακροεντολή Center (Layer). Αφού εκτελέσετε κάθε εντολή, κοιτάξτε αμέσως την παλέτα Ενέργειεςτον έλεγχο του αποτελέσματος της εγγραφής του. Το εικονίδιο εγγραφής στην παλέτα επισημαίνεται με κόκκινο χρώμα.
  2. Επιλέξτε μια ομάδα Ολαμενού Επιλέγωή πατήστε τα πλήκτρα CTRL + A... Στην παλέτα Ενέργειεςεμφανίστηκε η πρώτη ομάδα Ορισμός επιλογήςμε παράμετρο Οτιπου αντιστοιχεί στην επιλογή ολόκληρου του καμβά ( Ολα).
  3. Επιλέξτε μια ομάδα Τομήμενού Επεξεργασία Ενέργειες.
  4. Επιλέξτε μια ομάδα Επικόλλησημενού Επεξεργασία... Η αντίστοιχη εντολή θα εμφανιστεί στην παλέτα. Ενέργειες.

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

  1. Όλες οι ενέργειες της μακροεντολής έχουν ολοκληρωθεί και ήρθε η ώρα να σταματήσετε την εγγραφή. Κάντε κλικ στο εικονίδιο διακοπής εγγραφής στην παλέτα Ενέργειες.

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

  1. Επιλέξτε στην παλέτα Ενέργειεςο τίτλος της μακροεντολής που δημιουργήθηκε.
  2. Εκτελέστε την εντολή Εισαγωγή στάσης ...από το μενού παλέτας Ενέργειες... Στο ανοιχτό παράθυρο διαλόγου Εγγραφή στοπδείτε το πεδίο Μήνυμα, στην οποία μπορείτε να εισαγάγετε πολλές γραμμές σχολίων και το πλαίσιο ελέγχου Επιτρέψτε Συνέχειαπου καθορίζει εάν θα επιτρέπεται ή όχι η περαιτέρω εκτέλεση της μακροεντολής. Εισαγάγετε το κείμενο σχολίων και επιλέξτε το πλαίσιο Επιτρέψτε Συνέχεια.
  3. Κάντε κλικ στο κουμπί Εντάξει.
  4. Μετακινήστε την εντολή Να σταματήσειστην παλέτα Ενέργειεςστην πρώτη θέση στη μακροεντολή μας με τον ίδιο τρόπο που αλλάξαμε τη σειρά των επιπέδων στην παλέτα επιπέδων - Σύρετε και αποθέστε.Έχουμε προσθέσει ένα σχόλιο στη μακροεντολή που θα μπορεί να σταματήσει την εκτέλεση της μακροεντολής αν κάνει κλικ ο χρήστης Να σταματήσειστο παράθυρο διαλόγου που ανοίγει.

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

Σημείωση.Για να γράψετε ένα περίγραμμα σε μια εντολή μακροεντολής, πρέπει πρώτα να το δημιουργήσετε και στη συνέχεια να χρησιμοποιήσετε την εντολή Εισαγωγή διαδρομήςμενού παλέτας Ενέργειες... Κατά την αναπαραγωγή της εντολής μακροεντολής, το περίγραμμα θα αναπαραχθεί σε μια νέα εικόνα. Η εγγραφή μακροεντολών στο Photoshop έχει σημαντικούς περιορισμούς. Πρώτον, οι ενέργειες των εργαλείων σχεδίασης (Βούρτσα, Σφραγίδα, Γόμα κ.λπ.) δεν καταγράφονται. Δεύτερον, δεν υπάρχει τρόπος ελέγχου της προόδου μιας μακροεντολής. Μια μακροεντολή δεν μπορεί να καλέσει διάφορες εντολές ανάλογα με οποιεσδήποτε συνθήκες, είναι αδύνατο να οργανώσει μια κυκλική εκτέλεση μιας ομάδας εντολών, να λάβει και να χρησιμοποιήσει πληροφορίες σχετικά με την κατάσταση ενός εγγράφου (μέγεθος, ανάλυση, μοντέλο χρώματος, αριθμός και τύποι επιπέδων και κανάλια κλπ).

1. Η έννοια της μακροεντολής.

2. Επισκόπηση γεγονότος

3. Δημιουργία μακροεντολών.

3.1. Ορισμός των προϋποθέσεων για την εκτέλεση μακροεντολών.

3.2. Δημιουργία ομάδας μακροεντολών.

4. Εκτέλεση της μακροεντολής.

1. Η έννοια της μακροεντολής

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

Μακροεντολή Είναι ένα αντικείμενο βάσης δεδομένων MS Access, το οποίο αποτελείται από μία ή περισσότερες μακροεντολές και έχει σχεδιαστεί για να αυτοματοποιεί εργασίες που εκτελούνται συχνά.

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

Λειτουργικά, οι μακροεντολές μπορούν να χωριστούν σε διάφορες κατηγορίες:

- εργασία με δεδομένα σε φόρμες και εκθέσεις ·

- εκτέλεση εντολών, μακροεντολών, διαδικασιών και ερωτημάτων,

- εργασία με αντικείμενα ·

- εισαγωγή / εξαγωγή δεδομένων και αντικειμένων ·

- οι υπολοιποι.

Ο πίνακας 11.1 δείχνει 56 μακροεντολές MS Access DBMS ομαδοποιημένες ανά κατηγορίες.

Πίνακας 11.1

Ραντεβού

Μακροεντολή

Εργασία με δεδομένα σε φόρμες και αναφορές

Δειγματοληψία δεδομένων

ApplyFilter

Πλοήγηση μέσω δεδομένων

NextRecord (FindNext).

FindRecord,

Στο στοιχείο ελέγχου

Πήγαινε στην σελίδα,

OnRecord (GoToRecord)

Ανανέωση δεδομένων ή οθόνης

Ενημέρωση (αίτημα)

ShowAllRecords

Εκτέλεση

Εκτέλεση μιας εντολής

Εκτέλεση εντολής

Εκτέλεση μακροεντολής, διαδικασίας ή ερωτήματος

RunProgram (RunCode), RunMacro (RunMasgo), OpenQuery (OpenQuery), RunSQLQuery (RunSQL)

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

RunApp

Διακοπή εκτέλεσης

CancelEvent

StopAllMacros (StopAIIMacros),

Σταματήστε τη μακροεντολή

Αποσυνδεθείτε από την Microsoft Access

Εγκαταλείπω

Εισαγωγή/
εξαγωγή

Μεταφορά αντικειμένων της Microsoft Access σε άλλες εφαρμογές

OutputIn Format (OutputTo),

SendObiect

Μετατροπή μορφής δεδομένων

ConvertDatabase (TransferDatabase), ConvertElectronicSheet (TransferS spreadsheet)

TransferText

Εργασία με αντικείμενα

Αντιγράψτε, μετονομάστε ή αποθηκεύστε ένα στοιχείο

CopyObject, Μετονομασία,

Αρχείο CopyDatabaseFile
(CopyDatabaseFile)

Διαγραφή αντικειμένου

DeleteObject

Αλλάξτε το μέγεθος ή τοποθετήστε ένα παράθυρο

Επέκταση (Μεγιστοποίηση),

Σμικροποιώ

MoveSize,

Επαναφέρω

Άνοιγμα ή κλείσιμο αντικειμένου

OpenForm, OpenModule, OpenQuery, OpenReport, OpenTable,

OpenFunction

Άνοιγμα σελίδας (OpenDataAccessPage)

Άνοιγμα διαγράμματος (OpenDiagram)

OpenStoreProcedure

OpenView

Κλείσε

Εκτύπωση αντικειμένου

Εκτύπωση (PrintOut)

Επιλογή αντικειμένου

SelectObject

Ρύθμιση της τιμής ενός πεδίου, στοιχείου ελέγχου ή ιδιότητας

SetValue

Ενημέρωση αντικειμένου

UpdateObject

Δημιουργήστε μια προσαρμοσμένη ή γενική γραμμή μενού, προσαρμοσμένο ή καθολικό μενού περιβάλλοντος

AddMenu

Ρύθμιση της κατάστασης των στοιχείων μενού σε ειδική ή γενική γραμμή μενού

SetMenultem

Εμφάνιση πληροφοριών στην οθόνη

OutputOnScreen (Echo),

Κλεψύδρα,

Μήνυμα (MsgBox),

SetWarnings

Δημιουργία πληκτρολογήσεων

Εντολές πληκτρολογίου (SendKeys)

Εμφάνιση ή απόκρυψη της ενσωματωμένης ή αποκλειστικής γραμμής εργαλείων

Γραμμή εργαλείων (ShowToolbar)

Ηχητικό σήμα

Σήμα (ανεμιστήρας)

Πιο πλήρεις πληροφορίες για τις μακροεντολές μπορείτε να βρείτε στην ενότητα αναφοράMicrosoft Πρόσβαση| Προγραμματισμός στοMicrosoft Πρόσβαση| Εντολές μακροεντολών.

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

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

απλός(ένα αντικείμενο που αποτελείται από ένα σύνολο μακροεντολών)

ομάδα(ένα αντικείμενο που αποτελείται από ένα σύνολο λογικά σχετιζόμενων μακροεντολών, καθένα από τα οποία έχει το δικό του όνομα και ένα σύνολο μακροεντολών).

Σύμφωνα με τη μέθοδο εκτέλεσης, οι μακροεντολές χωρίζονται σε δύο τύπους:

γραμμικός(κάθε μακροεντολή σε μια μακροεντολή εκτελείται διαδοχικά η μία μετά την άλλη).

με την συνθήκη(οι μακροεντολές εκτελούνται ανάλογα με την εκπλήρωση ορισμένων προϋποθέσεων).

2. Επισκόπηση γεγονότος

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

Σχεδόν όλος ο προγραμματισμός στο MS Access καταλήγει στη σύνταξη μακροεντολών ή διαδικασιών που χειρίζονται γεγονότα, δηλαδή προγραμματίζεται η αντίδραση αντικειμένων σε συμβάντα. Συμβάντα διαφόρων αντικειμένων MS Access φαίνονται στα Σχήματα 11.1 - 11.3.

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

- άνοιγμα και κλείσιμο εντύπων και εκθέσεων ·

- αλλαγή δεδομένων ·

- αλλάξτε την εστίαση της εισόδου.

- εκδηλώσεις εργασίας με το πληκτρολόγιο.

- εκδηλώσεις ποντικιού

- σφραγίδα ·

- παρακολούθηση σφαλμάτων ·

- λήξη χρονικού διαστήματος.

Εικόνα 11.1. Η καρτέλα Συμβάντα του παραθύρου ιδιοτήτων φόρμας.

Εικόνα 11.2. Η καρτέλα Συμβάντα του παραθύρου ιδιοτήτων του δευτερεύοντος στοιχείου ελέγχου φόρμας / αναφοράς.

Εικόνα 11.3. Η καρτέλα Συμβάντα του παραθύρου ιδιοτήτων ελέγχου. Κουμπί (a) και Combo box (b).

3. Δημιουργία μακροεντολών

Η δημιουργία μακροεντολών αποτελείται από δύο βήματα:

1. Στο παράθυρο της βάσης δεδομένων, μεταβείτε στην καρτέλα Μακροεντολέςκαι κάντε κλικ στο κουμπί Δημιουργώ .

2. Στο παράθυρο που εμφανίζεται Κατασκευαστής μακροεντολώνδημιουργήστε μια μακροεντολή.

Παράθυρο Κατασκευαστής μακροεντολέςαποτελείται από δύο περιοχές (Εικόνα 11.4):

- η επάνω περιοχή προορίζεται για την περιγραφή της λογικής δομής της μακροεντολής.

- η κάτω περιοχή είναι για την περιγραφή των επιχειρημάτων μακροεντολών.

Στην πάνω περιοχή Κατασκευαστής μακροεντολέςδύο στήλες εμφανίζονται από προεπιλογή Μακροεντολήκαι Σημείωση... Ένδειξη στήλης Όνομα μακροεντολήςκαι Κατάστασηπραγματοποιείται χρησιμοποιώντας τα αντίστοιχα κουμπιά στη γραμμή εργαλείων Κατασκευαστής μακροεντολές.

Κελιά σε μια στήλη Μακροεντολήχρησιμοποιούνται για την επιλογή από μια λίστα μακροεντολών που περιλαμβάνονται στη μακροεντολή.

Κελιά σε μια στήλη Σημείωσηχρησιμοποιούνται για να περιγράψουν τη δράση που εκτελείται από μια μακροεντολή (μπορεί να είναι κενή).

Κελιά σε μια στήλη Όνομα μακροεντολήςχρησιμοποιούνται για να ονομάσουν μια μακροεντολή σε μια ομάδα μακροεντολών.

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

Εικόνα 11.4. Παράθυρο Macro Designer

Για γρήγορη εναλλαγή μεταξύ της επάνω και της κάτω περιοχής του παραθύρου Κατασκευαστής μακροεντολώνμπορείτε να χρησιμοποιήσετε το κλειδί < φά 6> .

Υπάρχει ένας άλλος τρόπος εισαγωγής μακροεντολών.

Στο παράθυρο της βάσης δεδομένων, επιλέγεται ένα αντικείμενο: φόρμα, αναφορά, μακροεντολή, ερώτημα ή πίνακας και με το ποντίκι σύρεται στο παράθυρο Κατασκευαστής μακροεντολών... Σε πλαίσιο στήλης Μακροεντολήθα εμφανιστεί αυτόματα μια μακροεντολή (για παράδειγμα, OpenForm) και ορισμένα ορίσματα της εντολής μακροεντολής θα συμπληρωθούν αυτόματα (όνομα αντικειμένου, λειτουργία, λειτουργία παραθύρου).

Υπάρχουν δύο τρόποι εισαγωγής τιμών για τα ορίσματα μιας μακροεντολής:

- επιλογή μιας τιμής από τη λίστα αποδεκτών τιμών,

- μη αυτόματη εισαγωγή μιας τιμής ή χρησιμοποιώντας ένα παράθυρο διαλόγου Expression Builder.

Ένα παράδειγμα μακροεντολής που σας επιτρέπει να ανοίξετε τη φόρμα "Πελάτες" στη λειτουργία φόρμας, μόνο για ανάγνωση και εμφανίζει πελάτες μόνο από την Ισπανία, φαίνεται στο Σχ. 11.5.

Εικόνα 11.5. Παράθυρο Macro Constructor με συμπληρωμένες τιμές ορίσματος

3.1. Ορισμός προϋποθέσεων για την εκτέλεση μακροεντολών

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

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

Παράδειγμα δημιουργίας μακροεντολής μη γραμμικής δομής

Στο σχήμα του Προμηθευτέςυπάρχουν δύο πεδία Χώρακαι Δείκτης... Είναι απαραίτητο να ελέγξετε την ορθότητα του εισαγόμενου ευρετηρίου για ορισμένες χώρες πριν ενημερώσετε την εγγραφή (πριν την αποθήκευση).

Αν το πεδίο Χώραείναι NULL, τότε αποθηκεύστε την εγγραφή, καθώς είναι αδύνατο να ελέγξετε το ευρετήριο ότι ανήκει στη χώρα, διαφορετικά ελέγξτε την τιμή στο πεδίο Δείκτης:

- εάν το πεδίο Χώραέχει τη σημασία Γαλλία, Ιταλίαή Ισπανία, και στο χωράφι Δείκτηςδεν εισήχθη 5 χαρακτήρες, τότε μην αποθηκεύσετε την καταχώριση εάν 5 - σώσει;

- εάν το πεδίο Χώραέχει τη σημασία Αυστραλίαή Σιγκαπούρη, και στο χωράφι Δείκτηςδεν εισήχθη 4 υπογράψετε, τότε μην αποθηκεύσετε την εγγραφή εάν 4 - σώσει;

Ο αλγόριθμος μακροεντολής με τη μορφή μπλοκ διαγράμματος φαίνεται στο σχήμα 11.6 και η εφαρμογή της μακροεντολής στο παράθυρο Κατασκευαστής μακροεντολών, που φαίνεται στο σχήμα 11.7.

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

Εικόνα 11.6. Ο αλγόριθμος της μακροεντολής

Εικόνα 11.7. Εφαρμογή μακροεντολής με μη γραμμική δομή

3.2. Δημιουργία μιας ομάδας μακροεντολών

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

Για να μειώσετε τον αριθμό των μακροεντολών ως αντικειμένων βάσης δεδομένων, υπάρχει ένας άλλος τρόπος να τα οργανώσετε - συνδυάζοντας πολλές μακροεντολές σε μια ομάδα. Ο συνδυασμός μακροεντολών σε μια ομάδα μπορεί να γίνει με δύο τρόπους:

- ανήκει στο αντικείμενο αυτοματισμού (για κάθε φόρμα και αναφορά),

- που ανήκουν στον τύπο των αυτοματοποιημένων εργασιών.

Μια ομάδα μακροεντολών αποθηκεύεται σε ένα αντικείμενο και ως εκ τούτου έχει ένα κοινό όνομα - το όνομα του αντικειμένου. Για να εκτελέσετε μια μακροεντολή που περιλαμβάνεται σε μια ομάδα, χρησιμοποιήστε το πλήρες όνομα: [Όνομα_ομάδας]. [Όνομα_μακρο_σε_ομάδα].

Για να δημιουργήσετε μια ομάδα μακροεντολών, ακολουθήστε τα εξής βήματα:

1. Ανοίξτε Κατασκευαστής μακροεντολών.

2. Εμφάνιση της στήλης Όνομα μακροεντολής.

3. Σε ένα κελί στήλης Όνομα μακροεντολήςεισαγάγετε ένα όνομα για τη μακροεντολή μοναδική για την ομάδα.

4. Στα κελιά της στήλης Μακροεντολήξεκινώντας από τη γραμμή που περιέχει το όνομα της μακροεντολής, εισαγάγετε όλες τις μακροεντολές που αποτελούν τη μακροεντολή και τα ορίσματά τους.

5. Παραλείψτε μία γραμμή.

6. Επαναλάβετε τα βήματα 3 - 5 για κάθε μακροεντολή.

Ένα παράδειγμα δημιουργίας μιας ομάδας μακροεντολών φαίνεται στο σχήμα 11.8.

Εικόνα 11.8. Εφαρμογή ομάδας μακροεντολών

4. Εκτέλεση μακροεντολής

Υπάρχουν πολλοί τρόποι εκτέλεσης μακροεντολών.

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

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

Εκτέλεση μακροεντολής από το Macro Designer.

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

Για να εκτελέσετε οποιαδήποτε μακροεντολή από την ομάδα, εκτελέστε την εντολή Εξυπηρέτηση | Μακροεντολή | Εκτέλεση μακροεντολής ...και στο διάλογο Εκτόξευσημακροεντολή επιλέξτε το όνομα της μακροεντολής.

Εκτέλεση μακροεντολής από το παράθυρο της βάσης δεδομένων.

Για να εκτελέσετε μια απλή μακροεντολή ή την πρώτη μακροεντολή από μια ομάδα, μεταβείτε στην καρτέλα Μακροεντολές, επιλέξτε μια μακροεντολή και κάντε κλικ στο κουμπί Εκτόξευσηστο παράθυρο της βάσης δεδομένων.

Δείτε παραπάνω για την εκκίνηση οποιασδήποτε μακροεντολής από την ομάδα.

1. Ανοίξτε τη φόρμα ή την αναφορά στη λειτουργία Κατασκευαστής.

2. Επιλέξτε το αντικείμενο αυτοματισμού (στοιχείο ελέγχου, φόρμα ή αναφορά, τμήμα της φόρμας ή αναφοράς).

3. Ανοίξτε ένα παράθυρο διαλόγου Ιδιότητες αντικειμένου.

4. Επιλέξτε ένα συμβάν στην καρτέλα Εξελίξειςστην οποία έχει εκχωρηθεί η μακροεντολή.

5. Επιλέξτε το πλήρες όνομα της μακροεντολής από τη λίστα.

Η μακροεντολή θα εκτελείται κάθε φορά που συμβαίνει ένα συμβάν για το οποίο έχει εκχωρηθεί η μακροεντολή. Ένα παράδειγμα ανάθεσης μιας μακροεντολής σε ένα συμβάν παρουσιάζεται στο Σχήμα 11.9.

Εικόνα 11.9. Εκχώρηση μακροεντολής σε ένα συμβάν

Macro ονομάζεται Autoexecξεκινά αυτόματα όταν ανοίγει η βάση δεδομένων. Για να ακυρώσετε τις ενέργειες που καθορίζονται σε αυτήν τη μακροεντολή, πρέπει να ανοίξετε τη βάση δεδομένων πατώντας το πλήκτρο > .

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

Για δημιουργία μακροεντολήςστο παράθυρο της βάσης δεδομένων, επιλέξτε την καρτέλα Μακροεντολέςκαι πατήστε το κουμπί Δημιουργώ... Θα εμφανιστεί ένα παράθυρο μακρο σχεδιαστή (Εικ. 3.37). Έχει δύο στήλες: Μακροεντολή και Σημείωση. Στη στήλη Μακροεντολήπαραθέτει τις εντολές που πρέπει να εκτελεστούν. Έτσι σε ένα κελί στήλης Μακροεντολήορίστε την απαιτούμενη εντολή μακροεντολής, θα πρέπει να επιλεγεί από τη λίστα. Στήλη Σημείωση, περιέχει σχόλια για εντολές. Αγνοείται κατά την εκτέλεση μιας μακροεντολής, αλλά η συμπλήρωσή της καθιστά το κείμενο της μακροεντολής σαφέστερο.

Ρύζι. 3,37. Προβολή παραθύρου μακροεντολής.

Η εκτέλεση κάθε μακροεντολής εξαρτάται από αυτήν επιχειρήματα(ορισμένες μακροεντολές δεν έχουν επιχειρήματα). Τα επιχειρήματα εισάγονται σε ειδικά καθορισμένα πεδία που βρίσκονται στο κάτω μέρος του παραθύρου μακροεντολής. Τα ορίσματα μπορούν να εισαχθούν χρησιμοποιώντας το πληκτρολόγιο, ωστόσο, αν είναι δυνατόν, είναι καλύτερα να τα επιλέξετε από μια λίστα για να αποφύγετε λανθασμένες τιμές. Θυμηθείτε ότι η ενέργεια μιας εντολής μακροεντολής που δεν καθορίζει ένα αντικείμενο -στόχο ισχύει για το ενεργό αντικείμενο.

Υπάρχει το εξής τεχνική γρήγορης δημιουργίας μακροεντολώνπου εκτελεί ενέργειες σε ένα συγκεκριμένο αντικείμενο βάσης δεδομένων. Πρέπει να επιλέξετε ένα αντικείμενο στο παράθυρο της βάσης δεδομένων και να το μετακινήσετε με το ποντίκι στο κελί μακροεντολής στο παράθυρο μακροεντολής.

Για να το κάνετε αυτό, τοποθετήστε το παράθυρο της βάσης δεδομένων και το παράθυρο μακροεντολής δίπλα -δίπλα στην οθόνη χρησιμοποιώντας την εντολή Από πάνω προς τα κάτωή Από τα αριστερά προς τα δεξιάαπό το μενού Παράθυρο... Στη συνέχεια, επιλέξτε την αντίστοιχη καρτέλα στο παράθυρο της βάσης δεδομένων, επιλέξτε το αντικείμενο και μετακινήστε το εικονίδιο με το ποντίκι στο κελί μακροεντολής. Για παράδειγμα, για να δημιουργήσετε μια μακροεντολή που ανοίγει μια φόρμα, χρησιμοποιήστε το ποντίκι για να σύρετε το εικονίδιο φόρμας από το παράθυρο της βάσης δεδομένων στο κελί μακροεντολής. Όταν σύρετε ένα εικονίδιο μακροεντολής σε ένα κελί μακροεντολής, εισάγετε μια εντολή μακροεντολής που εκτελεί αυτήν τη μακροεντολή και όταν σύρετε εικονίδια για άλλα αντικείμενα (πίνακες, ερωτήματα, φόρμες, αναφορές ή μονάδες), προστίθεται μια μακροεντολή στη μακροεντολή που ανοίγει αυτό το αντικείμενο.

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

Για να εκτελέσετε μια μακροεντολή από ένα παράθυρο Κατασκευαστής μακροεντολών, πρέπει να πατήσετε το κουμπί. Για να εκτελέσετε τη μακροεντολή από το παράθυρο της βάσης δεδομένων, επιλέξτε την καρτέλα Μακροεντολές, ενεργοποιήστε το όνομα της μακροεντολής και πατήστε το κουμπί Εκτόξευσηστο παράθυρο της βάσης δεδομένων (μπορείτε επίσης να κάνετε διπλό κλικ στο όνομα της μακροεντολής για εκτέλεση).