Innholdsfortegnelse
Word VBA Finn
Dette eksemplet er en enkel ordmakro, finn teksten “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 = False End With Selection.Find.Execute End Sub
Finn og erstatt
Denne enkle makroen vil søke etter ordet "deres" og erstatte det med "der":
Sub SimpleReplace () Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "deres" .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
Finn og erstatt bare i utvalg
Denne VBA -makroen vil finne og erstatte tekst i et utvalg. Det vil også kursivere den erstatte teksten.
Sub ReplaceInSelection () 'erstatter teksten JUST i utvalget. i adittion gjør den erstattet tekst kursiv Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "deres" With .Replacement .Font.Italic = True .Text = "there" End With .Forward = True .Wrap = wdFindStop 'dette forhindrer Word i å fortsette til slutten av doc .Format = True' vi vil også erstatte formatering av tekst .MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End Med Selection.Find.Execute Erstatt: = wdReplaceAll End Sub
Denne kodelinjen forhindrer VBA i å fortsette til slutten av Word -dokumentet:
.Wrap = wdFindStop 'dette forhindrer Word i å fortsette til slutten av doc
Denne kodelinjen indikerer å erstatte formateringen av teksten også:
.Format = True 'vi vil også erstatte formatering av tekst
Finn og erstatt bare innen rekkevidde
I stedet for å erstatte tekst gjennom hele dokumentet, eller i et utvalg, kan vi fortelle VBA å finne og erstatte bare innenfor rekkevidde. I dette eksemplet definerte vi området som det første avsnittet:
Dim oRange As Range Set oRange = ActiveDocument.Paragraphs (1) .Range
Sub ReplaceInRange () 'erstatter tekst JUST i området [i dette eksemplet bare i første ledd] Dim oRange As Range Set oRange = ActiveDocument.Paragraphs (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Finn .Text = "deres" .Replacement.Text = "der" .Forward = True .Wrap = wdFindStop 'dette forhindrer Word i å fortsette til slutten av doc .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With oRange.Find.Execute Replace: = wdReplaceAll End Sub