Word VBA makronaredbe - Pronađite, pronađite i zamijenite

Riječ VBA Pronađi

Ovaj primjer je jednostavna makronaredba riječi pronađite tekst "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 = Lažni kraj s odabirom.Nađi.Izvrši završnu podmeni

Pronađi i zamijeni

Ovaj će jednostavni makro tražiti riječ "njihov" i zamijeniti je s "tamo":

Sub SimpleReplace () Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "njihov" .Replacement.Text = "tamo" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = false

Pronađi i zamijeni samo u odabiru

Ova VBA makronaredba će pronaći i zamijeniti tekst u odabiru. Također će kurzivom zamijeniti tekst.

Sub ReplaceInSelection () 'zamjenjuje tekst SAMO u odabiru. osim toga zamjenski tekst čini kurzivnim 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 'ovo sprječava Word da nastavi do kraja dokumenta. Format = True' želimo zamijeniti i oblikovanje teksta. MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End Sa Selection.Find.Execute Zamijeni: = wdReplaceAll End Sub

Ova linija koda sprječava VBA da nastavi do kraja Word dokumenta:

.Wrap = wdFindStop 'ovo sprječava Word da nastavi do kraja dokumenta

Ovaj redak koda označava i zamjenu oblikovanja teksta:

.Format = True 'želimo zamijeniti i oblikovanje teksta

Pronađite i zamijenite samo u dometu

Umjesto zamjene teksta u cijelom dokumentu ili u odabiru, možemo reći VBA -i da pronađe i zamijeni samo u rasponu. U ovom primjeru definirali smo raspon kao prvi odlomak:

Dim oRange As Range Set oRange = ActiveDocument.Paragrafi (1) .Range
Pod ReplaceInRange () 'zamjenjuje tekst SAMO u rasponu [u ovom primjeru samo u prvom odlomku] Dim oRange As Range Set oRange = ActiveDocument.Paragrafi (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting Pomoću oRange.Find.Replacement.ClearFormatting. Pronađi .Text = "njihov" .Replacement.Text = "tamo" .Forward = True. Wrap = wdFindStop 'ovo sprječava Word da nastavi do kraja dokumenta. Format = Netačno. MatchCase = Netačno. MatchWholeWord = Netačno. MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End s oRange.Find.Execute Zamijeni: = wdReplaceAll End Sub 
wave wave wave wave wave