Macro VBA Word - Găsiți, găsiți și înlocuiți

Găsiți cuvântul VBA

Acest exemplu este un macro cuvânt simplu, găsiți textul „a”:

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 = Final fals cu Selection.Find.Execute End Sub

Găsiți și înlocuiți

Această macrocomandă simplă va căuta cuvântul „lor” și îl va înlocui cu „acolo”:

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 = Încheiere falsă cu selecție.Find.Execute Înlocuire: = wdReplaceAll End Sub

Găsiți și înlocuiți numai în selecție

Această macrocomandă VBA va găsi și înlocui textul dintr-o selecție. De asemenea, va face cursiv textul înlocuit.

Sub ReplaceInSelection () 'înlocuiește textul DOAR în selecție. în adiție, textul înlocuit face cursiv 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 'acest lucru împiedică Word să continue până la sfârșitul documentului .Format = True' vrem să înlocuim și formatarea textului .MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End Cu Selection.Find.Execute Replace: = wdReplaceAll End Sub

Această linie de cod împiedică VBA să continue până la sfârșitul documentului Word:

.Wrap = wdFindStop 'acest lucru împiedică Word să continue până la sfârșitul documentului

Această linie de cod indică să înlocuiască și formatarea textului:

.Format = Adevărat 'vrem să înlocuim și formatarea textului

Găsiți și înlocuiți numai în raza de acțiune

În loc să înlocuim textul în întregul document sau într-o selecție, putem spune VBA să găsească și să înlocuiască numai în interval. În acest exemplu am definit intervalul ca primul paragraf:

Dim oRange As Range Set oRange = ActiveDocument.Paragraphs (1) .Range
Sub ReplaceInRange () 'înlocuiește textul DOAR în interval [în acest exemplu doar în primul paragraf] Dim oRange As Range Set oRange = ActiveDocument.Paragraphs (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Găsiți .Text = "lor" .Replacement.Text = "acolo" .Forward = Adevărat .Wrap = wdFindStop 'acest lucru împiedică Word să continue până la sfârșitul documentului .Format = Fals .MatchCase = Fals .MatchWholeWord = Fals .MatchWildcards = Fals .MatchSoundsLike = False .MatchAllWordForms = False End With oRange.Find.Execute Inlocuire: = wdReplaceAll End Sub 
wave wave wave wave wave