Απαιτήσεις: Χρησιμοποιήστε το VSTO για να αναπτύξετε μια απλή προσθήκη για το Office, όπως η λήψη της προσθήκης μήκους κινεζικών χαρακτήρων του Word.
Μοντέλο αντικειμένου Word
Το Word προσφέρει εκατοντάδες αντικείμενα για αλληλεπίδραση. Αυτά τα αντικείμενα είναι οργανωμένα σε μια ιεραρχία που ακολουθεί αυστηρά τη διεπαφή χρήστη. Το αντικείμενο Application βρίσκεται στην κορυφή της ιεραρχίας. Αυτό το αντικείμενο αντιπροσωπεύει την τρέχουσα παρουσία του Word. Το αντικείμενο Application περιέχει τα αντικείμενα Document, Selection, Bookmark και Range. Κάθε ένα από αυτά τα αντικείμενα έχει μια σειρά από μεθόδους και ιδιότητες που μπορούν να χρησιμοποιηθούν για τον χειρισμό και την αλληλεπίδραση με το αντικείμενο.
Η παρακάτω εικόνα εμφανίζει μια προβολή αυτών των αντικειμένων στην ιεραρχία του μοντέλου αντικειμένου του Word.
Τεκμηρίωση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Αντικείμενο εφαρμογής
Το αντικείμενο Εφαρμογή αντιπροσωπεύει την εφαρμογή Word και είναι το γονικό όλων των άλλων αντικειμένων. Τα μέλη του συνήθως εφαρμόζονται στο Word ως σύνολο. Μπορείτε να χρησιμοποιήσετε τις ιδιότητες και τις μεθόδους του για να ελέγξετε το περιβάλλον του Word.
Σε ένα έργο πρόσθετου VSTO, μπορείτε να αποκτήσετε πρόσβαση στο αντικείμενο ThisAddIn χρησιμοποιώντας τα πεδία Εφαρμογή της κλάσης Application.
Σε ένα έργο σε επίπεδο εγγράφου, μπορείτε να αποκτήσετε πρόσβαση στο αντικείμενο ThisDocument χρησιμοποιώντας την ιδιότητα Application της κλάσης Application.
Αντικείμενο εγγράφου
Το αντικείμενο Document είναι το κέντρο του προγραμματισμού του Word. Αντιπροσωπεύει ένα έγγραφο και όλα τα περιεχόμενά του. Όταν ανοίγετε ένα έγγραφο ή δημιουργείτε ένα νέο έγγραφο, δημιουργείται ένα νέο αντικείμενο εγγράφου και προστίθεται στη συλλογή εφαρμογών του αντικειμένου Documents. Ένα έγγραφο με εστίαση είναι γνωστό ως ενεργό έγγραφο. Αντιπροσωπεύεται από την ιδιότητα Application του αντικειμένου ActiveDocument.
Όταν δημιουργείτε ένα έργο σε επίπεδο εγγράφου, μπορείτε να αποκτήσετε πρόσβαση στο μέλος ThisDocument χρησιμοποιώντας την κλάση Document που δημιουργείται στο έργο. Μπορείτε να αποκτήσετε πρόσβαση στο αντικείμενο ThisDocument χρησιμοποιώντας τη λέξη-κλειδί Me ή αυτή τη λέξη-κλειδί για κώδικα στην κλάση Document ή χρησιμοποιώντας το Globals.ThisDocument για κώδικα εκτός της κλάσης ThisDocument.
Αντικείμενο επιλογής
Το αντικείμενο Selection αντιπροσωπεύει την τρέχουσα επιλεγμένη περιοχή. Όταν εκτελείτε μια ενέργεια στο περιβάλλον εργασίας χρήστη του Word, όπως έντονη γραφή κειμένου, μπορείτε να επιλέξετε ή να επισημάνετε το κείμενο και, στη συνέχεια, να εφαρμόσετε τη μορφοποίηση. Το αντικείμενο Selection υπάρχει πάντα στο έγγραφο. Εάν δεν έχει επιλεγεί τίποτα, υποδεικνύει ένα σημείο εισαγωγής. Επιπλέον, το επιλεγμένο περιεχόμενο μπορεί να περιέχει πολλά μη γειτονικά τμήματα κειμένου.
Αντικείμενο εύρους
Το αντικείμενο Range αντιπροσωπεύει γειτονικές περιοχές στο έγγραφο και ορίζεται από τις θέσεις των χαρακτήρων αρχής και τέλους. Δεν περιορίζεται σε ένα μόνο αντικείμενο εύρους. Μπορείτε να ορίσετε πολλά αντικείμενα περιοχής στο ίδιο έγγραφο. Τα αντικείμενα εύρους έχουν τα ακόλουθα χαρακτηριστικά:
- Μπορεί να περιέχει μόνο μεμονωμένα σημεία εισαγωγής ή μπορεί να περιέχει μια περιοχή κειμένου ή ολόκληρο το έγγραφο.
- Περιλαμβάνει μη εκτυπωμένους χαρακτήρες όπως κενά, καρτέλες και δείκτες παραγράφων.
- Μπορεί να είναι η περιοχή που αντιπροσωπεύεται από το τρέχον επιλεγμένο περιεχόμενο ή η περιοχή που είναι διαφορετική από αυτό το περιεχόμενο.
- Δεν είναι ορατό στο έγγραφο, σε αντίθεση με το επιλεγμένο περιεχόμενο, το οποίο είναι πάντα ορατό.
- Δεν αποθηκεύεται με την τεκμηρίωση και υπάρχει μόνο όταν εκτελείται ο κώδικας.
- Όταν εισάγεται κείμενο στο τέλος μιας περιοχής, το Word επεκτείνει αυτόματα την περιοχή για να συμπεριλάβει το κείμενο που έχει εισαχθεί.
Αντικείμενα ελέγχου περιεχομένου (Αντικείμενα ελέγχου περιεχομένου)
Το ContentControl παρέχει έναν τρόπο ελέγχου της εισαγωγής και της απόδοσης κειμένου και άλλων τύπων περιεχομένου μέσα σε ένα έγγραφο του Word. Το ContentControl μπορεί να εμφανίσει πολλούς διαφορετικούς τύπους περιβάλλοντος εργασίας χρήστη που έχουν βελτιστοποιηθεί για χρήση σε έγγραφα του Word, όπως στοιχεία ελέγχου κειμένου πολλών μηνυμάτων, επιλογές ημερομηνίας ή σύνθετα πλαίσια. Μπορείτε επίσης να χρησιμοποιήσετε το ContentControl για να εμποδίσετε τους χρήστες να επεξεργαστούν ορισμένες ενότητες ενός εγγράφου ή προτύπου.
Το Visual Studio επεκτείνει το αντικείμενο ContentControl σε πολλά διαφορετικά στοιχεία ελέγχου κεντρικού υπολογιστή. Ενώ το αντικείμενο ContentControl εμφανίζει όλους τους διαφορετικούς τύπους περιβάλλοντος εργασίας χρήστη που είναι διαθέσιμοι για στοιχεία ελέγχου περιεχομένου, το Visual Studio παρέχει διαφορετικό τύπο για κάθε στοιχείο ελέγχου περιεχομένου. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το RichTextContentControl για να δημιουργήσετε ένα στοιχείο ελέγχου κειμένου πολλών μηνυμάτων ή μπορείτε να χρησιμοποιήσετε το DatePickerContentControl για να δημιουργήσετε μια επιλογή ημερομηνίας. Αυτά τα στοιχεία ελέγχου κεντρικού υπολογιστή συμπεριφέρονται παρόμοια με τα εγγενή ContentControls, αλλά έχουν επίσης πρόσθετες δυνατότητες σύνδεσης συμβάντων και δεδομένων.
Αντικείμενο σελιδοδείκτη
Το αντικείμενο "Σελιδοδείκτης" αντιπροσωπεύει γειτονικές περιοχές σε ένα έγγραφο με θέσεις έναρξης και λήξης. Μπορείτε να χρησιμοποιήσετε σελιδοδείκτες για να επισημάνετε μια θέση στο έγγραφο ή ως κοντέινερ για την κινεζική έκδοση του εγγράφου. Ένα αντικείμενο σελιδοδείκτη μπορεί να περιέχει σημεία εισαγωγής ή να έχει το ίδιο μέγεθος με ολόκληρο το έγγραφο. Ο σελιδοδείκτης έχει τα ακόλουθα χαρακτηριστικά που τον διακρίνουν από τα αντικείμενα εύρους:
- Μπορείτε να ονομάσετε σελιδοδείκτες κατά το σχεδιασμό.
- Το αντικείμενο Bookmark αποθηκεύεται μαζί με το έγγραφο, επομένως δεν διαγράφεται όταν ο κώδικας σταματήσει να εκτελείται ή το έγγραφο κλείσει.
- Αποκτήστε πρόσβαση στην ιδιότητα Προβολή ορίζοντας την ιδιότητα Προβολή σε false ή true.
- Το Visual Studio επεκτείνει το αντικείμενο σελιδοδείκτη παρέχοντας ένα στοιχείο ελέγχου κεντρικού υπολογιστή σελιδοδεικτών. Τα στοιχεία ελέγχου κεντρικού υπολογιστή σελιδοδεικτών συμπεριφέρονται παρόμοια με τον εγγενή σελιδοδείκτη, αλλά έχουν επίσης πρόσθετες δυνατότητες σύνδεσης συμβάντων και δεδομένων. Μπορείτε να συνδέσετε δεδομένα σε ένα στοιχείο ελέγχου σελιδοδεικτών σε ένα έγγραφο με τον ίδιο τρόπο που συνδέετε δεδομένα σε ένα στοιχείο ελέγχου πλαισίου κειμένου σε μια φόρμα των Windows.
Δημιουργία πρόσθετου Word VSTO
Αφού κατανοήσετε τις βασικές έννοιες, ανοίξτε το VS 2022 για να δημιουργήσετε ένα νέο πρόσθετο Word VSTO, όπως φαίνεται στο παρακάτω σχήμα:
Δημιουργήστε μια κορδέλα απεικόνισης όπως φαίνεται στην παρακάτω εικόνα:
Κάντε διπλό κλικ στο Ribbon1.cs για να ανοίξετε, αφαιρέστε την προεπιλεγμένη καρτέλα καρτέλας και σύρετε μια νέα καρτέλα, όπως φαίνεται παρακάτω:
Σύρετε μια ομάδα και ένα στοιχείο ελέγχου κουμπιού στην καρτέλα νέας καρτέλας, όπως φαίνεται παρακάτω:
Κάντε διπλό κλικ στο κουμπί κουμπιού που μόλις δημιουργήσατε για να δημιουργήσετε ένα συμβάν κλικ με τον ακόλουθο κώδικα:
(Τέλος)
|