Tartalomjegyzék
Word VBA keresés
Ez a példa egy egyszerű szómakró, keresse meg az „a” szöveget:
Sub SimpleFind () Selection.Find.ClearFormatting With Selection.Find .Text = "a" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = Hamis .MatchWholeWord = Hamis .MatchWildcards = Hamis .MatchSoundsLike = Hamis .MatchAllWordForms = False End With Selection.Find.Execute End Sub
Keresse meg és cserélje ki
Ez az egyszerű makró megkeresi az „övék” szót, és lecseréli az „ott” -ra:
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 = Hamis .MatchWildcards = Hamis .MatchSoundsLike = Hamis .MatchAllWordForms = False End With Selection.Find.Execute Replace: = wdReplaceAll End Sub
Csak a kiválasztásban keresse meg és cserélje ki
Ez a VBA makró megkeresi és lecseréli a kijelölt szöveget. Emellett dőlt betűvel helyettesíti a lecserélt szöveget.
Sub ReplaceInSelection () 'helyettesíti a CSAK szöveget a kiválasztásban. a kiegészítésben a kicserélt szöveget dőltre változtatja 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 'ez megakadályozza, hogy a Word folytatódjon a doc végéig .Format = True' a szöveg formázását is le akarjuk cserélni. Selection.Find.Execute Replace: = wdReplaceAll End Sub
Ez a kódsor megakadályozza, hogy a VBA a Word dokumentum végéig folytassa:
.Wrap = wdFindStop 'ez megakadályozza, hogy a Word a dokumentum végéig folytatódjon
Ez a kódsor jelzi a szöveg formázásának helyettesítését is:
.Format = True 'a szöveg formázását is le akarjuk cserélni
Csak a tartományban keresse meg és cserélje ki
Ahelyett, hogy a szöveget lecserélnénk a teljes dokumentumban vagy egy kiválasztásban, azt mondhatjuk a VBA -nak, hogy csak a tartományban keressen és cseréljen. Ebben a példában a tartományt az első bekezdésként határoztuk meg:
Dim oRange as Range Set oRange = ActiveDocument. (1) bekezdések.
Sub ReplaceInRange () 'helyettesíti a JUST szöveget a tartományban [ebben a példában csak az első bekezdésben] Dim oRange As Range Set oRange = ActiveDocument.Paragments (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Keresse meg .Text = "saját" .Replacement.Text = "ott" .Forward = Igaz .Wrap = wdFindStop 'ez megakadályozza, hogy a Word a dokumentum végéig folytassa .Format = False .MatchCase = Hamis .MatchWholeWord = Hamis .MatchWildcards = Hamis .MatchSoundsLike = Hamis .MatchAllWordForms = False End with oRange.Find.Execute Replace: = wdReplaceAll End Sub