Καλώς ήλθατε στο Word VBA / Macros Mega-Guide!
Αυτή η σελίδα περιέχει:
-
- Word VBA Tutorial PDF (Δωρεάν λήψη)
- Το Word VBA "Cheat Sheet" περιέχει μια λίστα με τα πιο συχνά χρησιμοποιούμενα αποσπάσματα κώδικα του Word VBA
- Πλήρες σεμινάριο VBA / Macro.
- Αναζητήσιμη λίστα με όλα τα μαθήματα μακροεντολών Word VBA
Μπορεί επίσης να σας ενδιαφέρει το Διαδραστικό σεμινάριο VBA για Excel. Ενώ μερικά από τα παραδείγματα / ασκήσεις είναι ειδικά για το Excel VBA, μεγάλο μέρος του περιεχομένου είναι γενικό για όλα τα VBA και μπορεί να σας φανεί χρήσιμο να μάθετε έννοιες όπως If Statements, Loops, MessageBoxes και άλλα.
VBA PDF (Δωρεάν λήψεις)
Κατεβάστε το δωρεάν μάθημα Microsoft Word VBA! Or VBA Tutorials για άλλα προγράμματα του Office!
Κατεβάστε
Παραδείγματα Word VBA "CheatSheet"
Παρακάτω θα βρείτε απλά παραδείγματα κώδικα VBA για εργασία με το Microsoft Word.
Επιλέξτε / Μετάβαση σε
ΠεριγραφήΚωδικός VBABackspaceSelection.TypeBackspaceΕπιλέξτε Ολόκληρο έγγραφοSelection.HomeKey Unit: = wdStoryΕπιλογή. ΕπέκτασηαντίγραφοΕπιλογή. ΑντιγραφήΔιαγράφωΕπιλογή. Διαγραφή μονάδας: = wdCharacter, Count: = 1Εισαγωγή μετάΕπιλογή. Εισαγωγή Μετά από "κείμενο"Αρχή της γραμμήςSelection.HomeKey Unit: = wdLineΤέλος γραμμήςSelection.EndKey Unit: = wdLineΕπικόλλησηΕπιλογή. ΠάσταΕπιλογή όλωνΕπιλογή. WholeStoryΕπιλέξτε Ολόκληρη γραμμήSelection.EndKey Unit: = wdLine, Extend: = wdExtendΜετακίνηση επάνω στην παράγραφοSelection.MoveUp Unit: = wdParagraph, Count: = 1Μετακίνηση δεξιά Ένας χαρακτήραςSelection.MoveRight Unit: = wdCharacter, Count: = 1Μετακίνηση δεξιού κελιού στον πίνακαSelection.MoveRight Unit: = wdCellΜεταβείτε στην αρχή του εγγράφουSelection.HomeKey Unit: = wdStoryΜεταβείτε στο τέλος του εγγράφουSelection.EndKey Unit: = wdStoryΜετάβαση στη σελίδα 1Selection.GoTo What: = wdGoToPage, Ποιο: = wdGoToNext, Όνομα: = ”1Μετάβαση στην κορυφή της σελίδαςSelection.GoTo What: = wdGoToBookmark, Όνομα: = ”\ Σελίδα”
Selection.MoveLeft Unit: = wdCharacter, Count: = 1
Επιστροφή στην κορυφή
Σελιδοδείκτες
ΠεριγραφήΚωδικός VBAΠροσθήκηΜε ActiveDocument.Bookmarks.Add Range: = Selection.Range, Name: = ”Name”
.DefaultSorting = wdSortByName
.ShowHidden = Λάθος
Τέλος μεμετρώDim n ως ακέραιος
n = ActiveDocument.Bookmarks.CountΔιαγράφωActiveDocument.Bookmarks ("BookmarkName"). ΔιαγραφήΥπάρχει?Εάν ActiveDocument.Bookmarks.Exists ("BookmarkName") = Σωστό τότε
'Κάνε κάτι
Τέλος εανΠαω σεSelection.GoTo What: = wdGoToBookmark, Όνομα: = ”BookmarkName”ΕπιλέγωActiveDocument.Bookmarks ("BookmarkName"). ΕπιλέξτεΑντικατάσταση κειμένουSelection.GoTo What: = wdGoToBookmark, Όνομα: = ”BookmarkName”
Επιλογή. Διαγραφή μονάδας: = wdCharacter, Count: = 1
Επιλογή. Εισαγωγή Μετά "Νέο κείμενο"
ActiveDocument.Bookmarks.Add Range: = Selection.Range, _
Όνομα: = ”BookmarkName”
Επιστροφή στην κορυφή
Εγγραφο
ΠεριγραφήΚωδικός VBAΘέτω εις ενέργειανΈγγραφα ("Παράδειγμα.doc"). ΕνεργοποιήστεΠροσθήκη στη μεταβλητήDim doc ως έγγραφοSet doc = Documents.AdddΠροσθήκηΈγγραφα. ΠροσθήκηΠροσθήκη (Από άλλο έγγραφο)Documents.Add Template: = ”C: \ Forms \ FormDoc.doc”, _
NewTemplate: = ΛάθοςΚλείσεΈγγραφα ("Παράδειγμα. Doc"). ΚλείσιμοΚλείσιμο - Αποθήκευση αλλαγώνΈγγραφα ("Example.doc"). Κλείσιμο SaveChanges: = wdSaveChangesΚλείσιμο - Μην αποθηκεύσετεΈγγραφα ("Example.doc"). Κλείσιμο SaveChanges: = wdDoNotSaveChangesΚλείσιμο - Προτροπή για αποθήκευσηΈγγραφα ("Παράδειγμα.doc"). Κλείσιμο SaveChanges: = wdPromptToSaveChanges
Επιστροφή στην κορυφή
Στήλες
ΠεριγραφήΚωδικός VBAΑποθήκευση ωςΈγγραφα ("Παράδειγμα.doc"). SaveAs ("C: \ Παράδειγμα \ Παράδειγμα.doc")ΑποθηκεύσετεΈγγραφα ("Παράδειγμα.doc"). ΑποθήκευσηΠροστατεύωΈγγραφα ("Παράδειγμα.doc"). Προστασία κωδικού πρόσβασης: = "κωδικός πρόσβασης"Χωρίς προστασίαΈγγραφα ("Example.doc"). UnProtect Password: = "password"Αριθμός σελίδωνDim varNumberPages as VariantvarNumberPages = _
ActiveDocument.Content.Information (wdActiveEndAdjustedPageNumber)ΤυπώνωΈγγραφα ("Παράδειγμα.doc"). Εκτύπωση
Επιστροφή στην κορυφή
Κουραστήκατε να ψάχνετε για παραδείγματα κώδικα VBA; Δοκιμάστε το AutoMacro!Γραμματοσειρά
ΠεριγραφήΚωδικός VBAΜέγεθοςSelection.Font.Size = 12ΤολμηρόςSelection.Font.Bold = TrueΠλάγια γραφήSelection.Font.Italic = TrueΥπογραμμίζωSelection.Font.Underline = wdUnderlineSingleΟλα κεφαλαίαSelection.Font.AllCaps = TrueΧρώμαSelection.Font.TextColor = vbRedΟνομαSelection.Font.Name = "Abadi"ΥπογεγραμμένοςSelection.Font.Subscript = TrueSuperScriptSelection.Font.Superscript = TrueΕπισημάνετε το χρώμαSelection.Range.HighlightColorIndex = wdYellowΣτυλSelection.Style = ActiveDocument.Styles ("Κανονικό")Επιστροφή στην κορυφή
Εισάγετε
ΠεριγραφήΚωδικός VBAΕισαγωγή αυτόματου κειμένουSelection.TypeText Text: = ”a3Selection.Range.InsertAutoTextΕισαγωγή κωδικού ημερομηνίαςΕισαγωγή αρχείουSelection.InsertFile ("C: \ Docs \ Something.doc")Εισαγωγή διακοπή σελίδαςSelection.InsertBreak Τύπος: = wdPageBreakΕισαγωγή συμβόλου παραγράφουSelection.TypeText Text: = Chr $ (182)Εισαγωγή καρτέλαςSelection.TypeText Text: = vbTabΕισαγωγή κειμένουSelection.TypeText Text: = "Οποιοδήποτε κείμενο"Εισαγωγή παραγράφου τύπουΕπιλογή. TypeParagraphΕισαγωγή παραγράφουΕπιλογή. InsertParagraph
Επιστροφή στην κορυφή
Βρόχοι
ΠεριγραφήΚωδικός VBAΚάντε μέχρι το τέλος του DocΚάντε μέχρι το ActiveDocument.Bookmarks ("\ Sel") = ActiveDocument.Bookmarks ("\ EndOfDoc")'Κάνε κάτι
ΥποΓια κάθε Έγγραφο στα ΈγγραφαDim doc ως έγγραφο
Για κάθε έγγραφο στα έγγραφα
'Κάνε κάτι
Επόμενο έγγρLoop Through ParagraphsΥπό παραγράφους
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Paragraphs.CountFori = 1 στο iParCount
ActiveDocument.Paragraphs (i) .Alignment = wdAlignParagraphLeft
Επόμενο i
Επιστροφή στην κορυφή
Παράγραφος
ΠεριγραφήΚωδικός VBAKeepLinesTogetherSelection.ParagraphFormat.KeepTogether = TrueKeepWithNextSelection.ParagraphFormat.KeepWithNext = TrueSpace AfterSelection.ParagraphFormat.SpaceAfter = 12Space BeforeSelection.ParagraphFormat.SpaceBefore = 0Ευθυγράμμιση ΚέντρουSelection.ParagraphFormat.Alignment = wdAlignParagraphCenterΕυθυγράμμιση δεξιάSelection.ParagraphFormat.Alignment = wdAlignParagraphRightΕυθυγράμμιση ΑριστεράSelection.ParagraphFormat.Alignment = wdAlignParagraphLeftΑριστερή ΕσοχήSelection.ParagraphFormat.LeftIndent = InchesToPoints (3.75)Δεξιά εσοχήSelection.ParagraphFormat.RightIndent = InchesToPoints (1)ΔιάστιχοΜε Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceExactly
.LineSpacing = 12
Τέλος μεΒρόχος σε όλες τις παραγράφουςΥπό παραγράφους
Dim i As Long, iParCount As Long
iParCount = ActiveDocument.Paragraphs.CountFori = 1 στο iParCount
ActiveDocument.Paragraphs (i) .Alignment = wdAlignParagraphLeft
Επόμενο i
Επιστροφή στην κορυφή
Φροντιστήριο μακροεντολών Word VBA
Αυτό είναι ένα σεμινάριο για τη χρήση του VBA με το Microsoft Word. Αυτό το σεμινάριο θα σας διδάξει πώς να γράφετε μια απλή μακροεντολή και να αλληλεπιδράτε με έγγραφα, εύρη, επιλογές και παραγράφους.
Σημείωση: Εάν είστε ολοκαίνουργιοι για Macros / VBA, μπορεί επίσης να βρείτε αυτό το άρθρο χρήσιμο: Πώς να γράψετε μακροεντολές VBA από το Scratch.
VBA είναι η γλώσσα προγραμματισμού που χρησιμοποιείται για την αυτοματοποίηση προγραμμάτων του Microsoft Office, συμπεριλαμβανομένων των Word, Excel, Outlook, PowerPoint και Access.
Μακροεντολές είναι μπλοκ κώδικα VBA που εκτελούν συγκεκριμένες εργασίες.
Οταν εσύ Εγγραφή μακροεντολής, Το Word θα γράψει κώδικα VBA σε μακροεντολή, επιτρέποντάς σας να επαναλάβετε τις ενέργειές σας. Μπορείτε να δείτε μια λίστα με όλες τις διαθέσιμες μακροεντολές από Προβολή> Μακροεντολές.
Μετά την εγγραφή μιας μακροεντολής, θα μπορείτε να επεξεργαστείτε τη μακροεντολή από τη λίστα μακροεντολών:
Όταν κάνετε κλικ Επεξεργασία, ανοίγεις το VBA EditorΤο Χρησιμοποιώντας το πρόγραμμα επεξεργασίας VBA, μπορείτε να επεξεργαστείτε εγγεγραμμένες μακροεντολές ή να γράψετε μια μακροεντολή Word από την αρχή. Για να αποκτήσετε πρόσβαση στον επεξεργαστή VBA, χρησιμοποιήστε τη συντόμευση ALT + F11 ή κάντε κλικ Visual Basic από το Κορδέλα προγραμματιστή.
Παράδειγμα μακροεντολής απλής λέξης
Αυτό είναι ένα απλό παράδειγμα μακροεντολής Word VBA. Εκτελεί τις ακόλουθες εργασίες:
- Ανοίγει ένα έγγραφο Word
- Γράφει στο έγγραφο
- Κλείνει και αποθηκεύει το έγγραφο του Word.
123456789101112131415 | Sub WordMacroExample ()'Άνοιγμα Doc & Assign to VariableDim oDoc ως έγγραφοΟρισμός oDoc = Documents.Open ("c: \ Χρήστες \ κάποιος \ NewDocument.docx")«Γράψτε στο ΈγγραφοSelection.TypeText "www.automateexcel.com"Επιλογή. TypeParagraph'Αποθήκευση και κλείσιμο εγγράφουoDoc. ΑποθήκευσηoDoc. ΚλείσιμοΤέλος υπο |
Βασικές λέξεις μακροεντολών
Όλος ο κωδικός VBA πρέπει να αποθηκευτεί σε διαδικασίες όπως αυτή. Για να δημιουργήσετε μια διαδικασία σε VBA πληκτρολογήστε "Sub WordMacroExample" (Όπου το "WordMacroExample" είναι το επιθυμητό όνομα μακροεντολής σας) και πατήστε ΕΙΣΑΓΩΤο Το VBA θα προσθέσει αυτόματα την παρένθεση και το End Sub.
Αντικείμενο εγγράφου Word
Όταν αλληλεπιδράτε με το Microsoft Word στο VBA, θα αναφέρετε συχνά το Word "Objects". Τα πιο κοινά αντικείμενα είναι:
Αντικείμενο εφαρμογής - Το ίδιο το Microsoft Word
Αντικείμενο εγγράφου - Ένα έγγραφο του Word
Εύρος αντικειμένου - Ένα μέρος ενός εγγράφου του Word
Επιλογή αντικειμένου - Επιλεγμένο εύρος ή τοποθεσία δρομέα.
Εφαρμογή
Η εφαρμογή είναι το αντικείμενο "ανώτατου επιπέδου". Όλα τα άλλα αντικείμενα στο Word μπορούν να προσεγγιστούν μέσω αυτού.
Εκτός από την πρόσβαση σε άλλα αντικείμενα του Word, υπάρχουν ρυθμίσεις "επιπέδου εφαρμογής" που μπορούν να εφαρμοστούν:
1 | Application.Options.AllowDragAndDrop = True |
Αυτό είναι ένα παράδειγμα πρόσβασης στην "Επιλογή" των "Windows (1)" με στην Εφαρμογή:
1 | Εφαρμογή. Windows (1). Επιλογή. Χαρακτήρες. Αριθμός |
Ωστόσο, τα πιο κοινά αντικείμενα του Word μπορούν να έχουν άμεση πρόσβαση, χωρίς να πληκτρολογείτε την πλήρη ιεραρχία. Επομένως, μπορείτε (και πρέπει) να πληκτρολογήσετε:
1 | Επιλογή. Χαρακτήρες. Αριθμός |
Εγγραφα
ActiveDocument
Συχνά, θα έχετε δύο ή περισσότερα έγγραφα ανοιχτά στο Word και θα πρέπει να καθορίσετε με ποιο συγκεκριμένο έγγραφο Word θα αλληλεπιδράσετε. Ένας τρόπος για να καθορίσετε ποιο έγγραφο θα χρησιμοποιηθεί ActiveDocumentΤο Για παράδειγμα:
1 | ActiveDocument.PrintOut |
… Θα εκτυπώσει το ActiveDocument. Το ActiveDocument είναι το έγγραφο στο Word που "έχει εστίαση"
Για να αλλάξετε το ActiveDocument, χρησιμοποιήστε την εντολή Ενεργοποίηση:
1 | Έγγραφα ("Παράδειγμα.docx"). Ενεργοποιήστε |
Αυτό το έγγραφο
Αντί να χρησιμοποιήσετε το ActiveDocument για να αναφέρετε το ενεργό έγγραφο, μπορείτε να χρησιμοποιήσετε αυτό το έγγραφο για να αναφέρετε το έγγραφο όπου είναι αποθηκευμένη η μακροεντολή. Αυτό το έγγραφο δεν θα αλλάξει ποτέ.
1 | ThisDocument.PrintOut |
Μεταβλητές εγγράφων
Ωστόσο, για πιο περίπλοκες μακροεντολές, μπορεί να είναι δύσκολο να παρακολουθείτε το Ενεργό έγγραφο. Μπορεί επίσης να είναι απογοητευτικό να κάνετε εναλλαγή μεταξύ εγγράφων.
Αντ 'αυτού, μπορείτε να χρησιμοποιήσετε μεταβλητές εγγράφου.
Αυτή η μακροεντολή θα εκχωρήσει το ActiveDocument σε μια μεταβλητή και στη συνέχεια θα εκτυπώσει το έγγραφο χρησιμοποιώντας τη μεταβλητή:
12345 | Sub VarExample ()Dim oDoc ως έγγραφοΟρίστε oDoc = ActiveDocumentoDoc.PrintOutΤέλος υπο |
Μέθοδοι εγγράφων
Άνοιγμα εγγράφου
Για να ανοίξετε ένα έγγραφο Word:
1 | Documents.Open "c: \ Users \ SomeOne \ Desktop \ Test PM.docx" |
Σας συνιστούμε να εκχωρείτε πάντα ένα έγγραφο σε μια μεταβλητή κατά το άνοιγμα της:
12 | Dim oDoc ως έγγραφοΟρίστε oDoc = Documents.Open ("c: \ Users \ SomeOne \ Desktop \ Test PM.docx") |
Δημιουργία νέου εγγράφου
Για να δημιουργήσετε ένα νέο έγγραφο Word:
1 | Έγγραφα. Προσθήκη |
Μπορούμε να δώσουμε εντολή στο Word να δημιουργήσει ένα νέο έγγραφο με βάση κάποιο πρότυπο:
1 | Documents.Add Template: = "C: \ Program Files \ Microsoft Office \ Templates \ MyTemplate.dotx" |
Όπως πάντα, είναι χρήσιμο και τεράστιο πρόγραμμα προστασίας προβλημάτων να εκχωρήσετε έγγραφο σε μεταβλητή κατά τη δημιουργία ή το άνοιγμα:
12 | Dim oDoc ως έγγραφοΟρισμός oDoc = Documents.Add (Πρότυπο: = "C: \ Program Files \ Microsoft Office \ Templates \ MyTemplate.dotx") |
Αποθήκευση εγγράφου
Για να αποθηκεύσετε ένα έγγραφο:
1 | ActiveDocument.Save |
ή SaveAs:
1 | ActiveDocument.SaveAs FileName: = c: \ Users \ SomeOne \ Desktop \ test2.docx ", FileFormat: = wdFormatDocument |
Κλείσιμο εγγράφου
Για να κλείσετε ένα έγγραφο και να αποθηκεύσετε τις αλλαγές:
1 | ActiveDocument.Close wdSaveChanges |
ή χωρίς αποθήκευση αλλαγών:
1 | ActiveDocument.Close wdDoNotSaveChanges |
Εκτύπωση εγγράφου
Αυτό θα εκτυπώσει το ενεργό έγγραφο:
1 | ActiveDocument.PrintOut |
Εύρος, Επιλογή, Παράγραφοι
Εύρος και Επιλογή είναι ίσως τα πιο σημαντικά αντικείμενα στο Word VBA, σίγουρα τα πιο χρησιμοποιημένα.
Εύρος αναφέρεται σε κάποιο τμήμα του εγγράφου, συνήθως, αλλά όχι απαραίτητα, κειμένου.
Επιλογή αναφέρεται σε επιλεγμένο κείμενο (ή άλλο αντικείμενο όπως εικόνες) ή, αν δεν έχει επιλεγεί τίποτα, σε ένα σημείο εισαγωγής.
Παραγράφους αντιπροσωπεύουν παραγράφους στο έγγραφο. Είναι λιγότερο σημαντικό από όσο ακούγεται, επειδή δεν μπορείτε να έχετε άμεση πρόσβαση στο κείμενο της παραγράφου (πρέπει να έχετε πρόσβαση σε συγκεκριμένο εύρος παραγράφων για να κάνετε τροποποιήσεις).
Εύρος
Το εύρος μπορεί να είναι οποιοδήποτε μέρος του εγγράφου, συμπεριλαμβανομένου ολόκληρου του εγγράφου:
12 | Dim oRange As RangeΟρισμός oRange = ActiveDocument.Content |
ή μπορεί να είναι μικρό ως ένας χαρακτήρας.
Ένα άλλο παράδειγμα, αυτό το εύρος θα αναφέρεται στην πρώτη λέξη του εγγράφου:
12 | Dim oRange As RangeΡύθμιση oRange = ActiveDocument.Range.Words (1) |
Συνήθως, θα θέλατε να λάβετε εύρος που αναφέρεται σε συγκεκριμένο τμήμα του εγγράφου και στη συνέχεια να το τροποποιήσετε.
Στο ακόλουθο παράδειγμα θα κάνουμε την πρώτη λέξη της δεύτερης παραγράφου έντονη:
123 | Dim oRange As RangeΟρίστε oRange = ActiveDocument.Paragraphs (2) .Range.Words (1)oRange.Bold = True |
Ορισμός εύρους κειμένου
Για να ορίσετε την τιμή κειμένου ενός εύρους:
123 | Dim oRange As RangeΟρίστε oRange = ActiveDocument.Paragraphs (2) .Range.Words (1)oRange.Text = "Γεια σας" |
(Συμβουλή: Σημειώστε το διάστημα μετά το "Γεια". Επειδή το αντικείμενο λέξης περιλαμβάνει χώρο μετά από λέξη, με το "γεια" θα λάβουμε "Hellonext word")
Υπάρχουν εκατοντάδες πράγματα που μπορείτε να κάνετε με το εύρος. Λίγα παραδείγματα (αυτά υποθέτουν ότι έχετε ήδη γίνει μεταβλητή αντικειμένου πορτοκάλι αναφορά σε εύρος ενδιαφερόντων):
Αλλαγή γραμματοσειράς
1 | oRange.Font.Name = "Arial" |
Εμφάνιση αριθμού χαρακτήρων στο πλαίσιο μηνυμάτων σε συγκεκριμένο εύρος
1 | MsgBox oRange.Characters.Count |
Εισαγάγετε κάποιο κείμενο πριν από αυτό
1 | oRange.InsertBefore "this is inserted text" |
Προσθέστε μια υποσημείωση στο εύρος
12 | ActiveDocument.Footnotes.Add Range: = oRange, _Κείμενο: = "Διαβάστε περισσότερα στο easyexcel.net." |
Αντιγράψτε το στο πρόχειρο
1234 | oRange. ΑντιγραφήΣυχνά πρέπει να αλλάξετε σε αυτό που αναφέρεται στο συγκεκριμένο εύρος. Έτσι μπορείτε να ξεκινήσετε την αρχή και το τέλοςoRange.Start = 5oRange.End = 50 |
Μετά τον παραπάνω κώδικα, το oRange θα αναφέρεται σε κείμενο που ξεκινά από τον πέμπτο και τελειώνει με τον 50ο χαρακτήρα του εγγράφου.
Επιλογή
Επιλογή χρησιμοποιείται ακόμη ευρύτερα από ό Εύρος, γιατί είναι πιο εύκολο να συνεργαστείς Επιλογές από Εύρος, ΕΑΝ η μακροεντολή σας αλληλεπιδρά ΜΟΝΟ με το ActiveDocument.
Επιλέξτε πρώτα το επιθυμητό μέρος του εγγράφου σας. Για παράδειγμα, επιλέξτε τη δεύτερη παράγραφο στο ενεργό έγγραφο:
1 | ActiveDocument.Paragraphs (2). Range.Select |
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το αντικείμενο επιλογής για να πληκτρολογήσετε κάποιο κείμενο:
1 | Selection.TypeText "Κάποιο κείμενο" |
Μπορούμε να πληκτρολογήσουμε μερικές παραγράφους κάτω από "Κάποιο κείμενο":
12 | Selection.TypeText "Κάποιο κείμενο"Επιλογή. TypeParagraph |
Συχνά, είναι απαραίτητο να γνωρίζουμε εάν έχει επιλεγεί κάποιο κείμενο ή έχουμε απλώς ένα σημείο εισαγωγής:
12345 | Εάν Selection.Type wdSelectionIP ΤότεSelection.Font.Bold = TrueΑλλούMsgBox "Πρέπει να επιλέξετε κάποιο κείμενο."Τέλος εαν |
Κατά την εργασία με το αντικείμενο επιλογής θέλουμε να τοποθετήσουμε σημείο εισαγωγής σε συγκεκριμένο μέρος και να εκδώσουμε εντολές ξεκινώντας από αυτό το σημείο.
Έναρξη εγγράφου:
1 | Selection.HomeKey Unit: = wdStory, Extend: = wdMove |
Έναρξη της τρέχουσας γραμμής:
1 | Selection.HomeKey Unit: = wdLine, Extend: = wdMove |
Η παράμετρος επέκτασης wdMove μετακινεί το σημείο εισαγωγής. Αντ 'αυτού, μπορείτε να χρησιμοποιήσετε το wdExtend το οποίο θα επιλέξει όλο το κείμενο μεταξύ του τρέχοντος σημείου εισαγωγής.
1 | Selection.HomeKey Unit: = wdLine, Extend: = wdExtend |
Μετακίνηση επιλογής
Η πιο χρήσιμη μέθοδος για την αλλαγή της θέσης του σημείου εισαγωγής είναι η Μετακίνηση. Για να μετακινήσετε την επιλογή δύο χαρακτήρες προς τα εμπρός:
1 | Επιλογή. Κινητή μονάδα: = wdCharacter, Count: = 2 |
για να το μετακινήσετε προς τα πίσω, χρησιμοποιήστε αρνητικό αριθμό για την παράμετρο Count:
1 | Επιλογή. Κινητή μονάδα: = wdCharacter, Count: =-2 |
Η παράμετρος μονάδας μπορεί να είναι wdCharacter, wdWord, wdLine ή περισσότερα (χρησιμοποιήστε τη βοήθεια του Word VBA για να δείτε άλλους).
Αντικαταστήστε λέξεις:
1 | Επιλογή. Κινητή μονάδα: = wdWord, Count: = 2 |
Η επιλογή είναι πιο εύκολη (σε σύγκριση με το εύρος) επειδή είναι σαν ένα ρομπότ που χρησιμοποιεί το Word, μιμείται ανθρώπινο χρήστη. Όπου είναι το σημείο εισαγωγής - κάποια ενέργεια θα λάβει χώρα. Αλλά, αυτό σημαίνει ότι πρέπει να προσέξετε πού βρίσκεται το σημείο εισαγωγής! Αυτό δεν είναι εύκολο μετά από πολλά βήματα στον κώδικα. Διαφορετικά, το Word θα άλλαζε κείμενο στο μη επιθυμητό μέρος.
Σε περίπτωση που χρειάζεστε κάποια ιδιότητα ή μέθοδο που δεν είναι διαθέσιμη στο αντικείμενο επιλογής, μπορείτε πάντα να λάβετε εύκολα εύρος που σχετίζεται με την επιλογή:
1 | Ορίστε oRange = Selection.Range |
ΣΥΜΒΟΥΛΗ: Χρήση Επιλογή είναι συχνά ευκολότερο από τη χρήση εύρους, αλλά και πολύ πιο αργό (σημαντικό όταν ασχολείστε με μεγάλα έγγραφα)
Παραγράφους
Δεν μπορείτε να χρησιμοποιήσετε το αντικείμενο Paragraphs για να αλλάξετε κείμενο:
1 | ActiveDocument.Paragraphs (1) .Text = "Όχι, δεν θα λειτουργούσε" |
Το παραπάνω δεν θα λειτουργούσε (στην πραγματικότητα θα έχει σφάλμα). Πρέπει πρώτα να αποκτήσετε εύρος που σχετίζεται με συγκεκριμένη παράγραφο:
1 | ActiveDocument.Paragraphs (1) .Range.Text = "Λειτουργεί τώρα :)" |
Αλλά μπορείτε να αλλάξετε άμεσα το στυλ του:
1 | ActiveDocument.Paragraphs (1) .Style = "Normal" |
ή να αλλάξετε τη μορφοποίηση επιπέδου παραγράφου:
1 | ActiveDocument.Paragraphs (1) .LeftIndent = 10 |
ή ίσως θέλετε να διατηρήσετε αυτήν την παράγραφο στην ίδια γραμμή με την επόμενη παράγραφο:
1 | ActiveDocument.Paragraphs (1) .KeepWithNext = True |
Κάντε την παράγραφο κεντρική:
1 | ActiveDocument.Paragraphs (1) .Alignment = wdAlignParagraphCenter |
Είναι πολύ χρήσιμο να αντιστοιχίσετε μια συγκεκριμένη παράγραφο σε μεταβλητή αντικειμένου. Εάν εκχωρήσουμε συγκεκριμένη παράγραφο σε μεταβλητή, δεν χρειάζεται να ανησυχούμε εάν η πρώτη παράγραφος γίνει η δεύτερη επειδή έχουμε εισαγάγει μία παράγραφο πριν από αυτήν:
12 | dim oPara as ParagraphΟρίστε oPara = Επιλογή.Παράγραφοι (1) ‘εδώ εκχωρούμε την πρώτη παράγραφο της τρέχουσας επιλογής σε μεταβλητή |
Ακολουθεί ένα παράδειγμα όπου εισάγουμε μια παράγραφο πάνω από την πρώτη παράγραφο, αλλά μπορούμε ακόμα να αναφέρουμε την παλιά πρώτη παράγραφο επειδή εκχωρήθηκε σε μια μεταβλητή:
1234567 | Υποπαραγράφου Παράδειγμα ()Dim oPara As ParagraphΟρίστε oPara = ActiveDocument.Paragraphs (1)MsgBox oPara.Range.TextoPara.Range.InsertParagraphBefore «Εισαγωγή παραγράφουMsgBox oPara.Range.TextΤέλος υπο |
Το αντικείμενο παραγράφου χρησιμοποιείται πολύ συχνά σε βρόχους:
123456789101112 | Sub LoopThroughParagraphs ()Dim oPara As ParagraphΓια κάθε oPara In ActiveDocument.Paragraphs«κάνε κάτι με αυτό. Απλώς θα εμφανίσουμε'κείμενο παραγράφου εάν το στυλ του είναι "Επικεφαλίδα 4"Εάν oPara.Style = "Επικεφαλίδα 4" ΤότεMsgBox oPara.Range.TextΤέλος εανΕπόμενο oParaΤέλος υπο |
Word VBA Φροντιστήριο Συμπέρασμα
Αυτό το σεμινάριο κάλυψε τα βασικά του Word VBA. Εάν είστε νέοι στο VBA, θα πρέπει επίσης να ανατρέξετε στο γενικό μας VBA Tutorial για να μάθετε περισσότερα σχετικά με τις μεταβλητές, τους βρόχους, τα κουτιά μηνυμάτων, τις ρυθμίσεις, τη λογική υπό όρους και πολλά άλλα.
Παραδείγματα μακροεντολών λέξεων
Παραδείγματα μακροεντολών λέξεων |
---|
Πρότυπα |
Προσθήκη νέων εγγράφων |
Μετρήστε λέξεις στην επιλογή |
Πλαίσια κειμένου |
Αποθήκευση ως PDF |
Σελιδοδείκτες |
Πίνακες |
Εύρεση και εύρεση και αντικατάσταση |
Άνοιγμα εγγράφων |
Συχνές ερωτήσεις για το Word VBA
Τι είναι το Word Macro;
Η μακροεντολή είναι ένας γενικός όρος που αναφέρεται σε ένα σύνολο οδηγιών προγραμματισμού που αυτοματοποιεί εργασίες. Οι Μακροεντολές Word αυτοματοποιούν εργασίες στο Word χρησιμοποιώντας τη γλώσσα προγραμματισμού VBA.
Η λέξη έχει VBA;
Ναι, το Microsoft Word διαθέτει τον επεξεργαστή VBA. Μπορείτε να έχετε πρόσβαση πατώντας ALT + F11 ή μεταβαίνοντας στο Developer> Visual Basic.
Πώς μπορώ να χρησιμοποιήσω το VBA στο Word;
1. Ανοίξτε το πρόγραμμα επεξεργασίας VBA (ALT + F11 ή προγραμματιστής> Visual Basic)
2. Πηγαίνετε στο Εισαγωγή> Ενότητα για να δημιουργήσετε μια Ενότητα κωδικού
3. Πληκτρολογήστε ‘Sub HelloWorld’ και πατήστε Enter
4. Μεταξύ των γραμμών ‘Sub HelloWorld’ και ‘End Sub’, πληκτρολογήστε ‘MsgBox“ Hello World! ’
5. Έχετε δημιουργήσει μια μακροεντολή!
6. Τώρα πατήστε ‘F5’ για να εκτελέσετε τη μακροεντολή