Lang L: none (table-of-contents)
Word VBA leidmine
See näide on lihtne sõna makro, leidke tekst "a":
Alam SimpleFind () Selection.Find.ClearFormatting With Selection.Find .Text = "a" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = Vale .MatchAllWordForms = Vale lõpp valikuga.Find.Execute End Sub
Leidke ja asendage
See lihtne makro otsib sõna "nende" ja asendab selle sõnaga "seal":
Alam 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 = Vale lõpp valikuga.Find.Execute Replace: = wdReplaceAll End Sub
Otsige ja asendage ainult valikus
See VBA makro otsib ja asendab valitud teksti. See kaldab ka asendatud teksti kaldkirjasse.
Sub ReplaceInSelection () 'asendab teksti JUST valimisel. lisades muudab see asendatud teksti kursiivseks Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "their" With .Replacement .Font.Italic = True .Text = "there" End With .Forward = True .Wrap = wdFindStop 'see takistab Wordi jätkamist dokumendi lõpuni .Format = True' tahame asendada ka teksti vormingu .MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End Koos valikuga Selection.Find.Execute Replace: = wdReplaceAll End Sub
See koodirida takistab VBA -l Wordi dokumendi lõpuni jätkamist:
.Wrap = wdFindStop 'see takistab Wordi jätkamist dokumendi lõpuni
See koodirida soovitab asendada ka teksti vormingu:
.Format = True 'tahame asendada ka teksti vormindamise
Otsige ja asendage ainult vahemikus
Selle asemel, et asendada teksti kogu dokumendis või valikus, võime käsutada VBA -l otsida ja asendada ainult vahemikus. Selles näites määratlesime vahemiku esimese lõiguna:
Dim oRange kui vahemik Määra oRange = ActiveDocument. Lõiked (1).
Sub ReplaceInRange () 'asendab teksti JUST vahemikus [selles näites vaid esimeses lõigus] Dim oRange As Range Set oRange = ActiveDocument.Parags (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Leia .Text = "nende" .Replacement.Text = "seal" .Forward = Tõsi .Wrap = wdFindStop 'see takistab Wordi jätkamist dokumendi lõpuni .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = Vale .MatchAllWordForms = Vale lõpp koos oRange.Find.Execute Asenda: = wdReplaceAll End Sub