Word VBA makrók - Keresés, keresés és csere

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 

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave