Πίνακας περιεχομένων
Word VBA Find
Αυτό το παράδειγμα είναι μια απλή λέξη μακροεντολή βρείτε το κείμενο "α":
Sub SimpleFind () Selection.Find.ClearFormatting With Selection.Find .Text = "a" .Replacement.Text = "". Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute End Sub
Βρίσκω και αντικαθιστώ
Αυτή η απλή μακροεντολή θα αναζητήσει τη λέξη "τους" και θα την αντικαταστήσει με "εκεί":
Sub SimpleReplace () Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "their" .Replacement.Text = "there" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace: = wdReplaceAll End Sub
Εύρεση και αντικατάσταση μόνο στην επιλογή
Αυτή η μακροεντολή VBA θα βρει και θα αντικαταστήσει κείμενο σε μια επιλογή. Επίσης, θα κάνει πλάγια γραφή το αντικατεστημένο κείμενο.
Sub ReplaceInSelection () 'αντικαθιστά το κείμενο ΑΠΛΑ στην επιλογή. επιπροσθέτως κάνει αντικατάσταση κειμένου πλάγια επιλογή. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "their" With .Replacement .Font.Italic = True .Text = "there" End With. Forward = True .Wrap = wdFindStop «αυτό εμποδίζει το Word να συνεχίσει μέχρι το τέλος του εγγράφου .Format = True» θέλουμε να αντικαταστήσουμε και τη μορφοποίηση του κειμένου .MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End Με Selection.Find.Execute Replace: = wdReplaceAll End Sub
Αυτή η γραμμή κώδικα εμποδίζει τη VBA να συνεχίσει στο τέλος του εγγράφου Word:
.Wrap = wdFindStop 'αυτό εμποδίζει το Word να συνεχίσει στο τέλος του εγγράφου
Αυτή η γραμμή κώδικα υποδεικνύει ότι αντικαθιστά επίσης τη μορφοποίηση του κειμένου:
.Format = True 'θέλουμε να αντικαταστήσουμε και τη μορφοποίηση του κειμένου
Εύρεση και αντικατάσταση μόνο σε εύρος
Αντί να αντικαταστήσουμε το κείμενο σε ολόκληρο το έγγραφο ή σε μια επιλογή, μπορούμε να πούμε στη VBA να βρει και να αντικαταστήσει μόνο στο εύρος. Σε αυτό το παράδειγμα ορίσαμε το εύρος ως την πρώτη παράγραφο:
Dim oRange As Range Set oRange = ActiveDocument.Paragraphs (1). Range
Το Sub ReplaceInRange () "αντικαθιστά το κείμενο JUST in range [σε αυτό το παράδειγμα ακριβώς στην πρώτη παράγραφο] Dim oRange As Range Set oRange = ActiveDocument.Paragraphs (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Βρείτε .Text = "τους" .Replacement.Text = "εκεί" .Forward = True .Wrap = wdFindStop 'αυτό εμποδίζει το Word να συνεχίσει μέχρι το τέλος του doc .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = Λάθος .MatchAllWordForms = Λάθος τέλος με oRange.Find.Execute Replace: = wdReplaceAll End Sub