Παραδείγματα μακροεντολών Word & Εκπαιδευτικό πρόγραμμα VBA

Καλώς ήλθατε στο Word VBA / Macros Mega-Guide!

Αυτή η σελίδα περιέχει:

    1. Word VBA Tutorial PDF (Δωρεάν λήψη)
    2. Το Word VBA "Cheat Sheet" περιέχει μια λίστα με τα πιο συχνά χρησιμοποιούμενα αποσπάσματα κώδικα του Word VBA
    3. Πλήρες σεμινάριο VBA / Macro.
    4. Αναζητήσιμη λίστα με όλα τα μαθήματα μακροεντολών 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 Variant
varNumberPages = _
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: = ”a3
Selection.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’ για να εκτελέσετε τη μακροεντολή

wave wave wave wave wave