„Word VBA Find“
Šis pavyzdys yra paprastas žodžių makrokomandas suraskite 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 = Netiesa .MatchAllWordForms = False End with Selection.Find.Execute End Sub
Rasti ir pakeisti
Ši paprasta makrokomanda ieškos žodžio „jų“ ir pakeis jį „ten“:
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 = Netiesa .MatchWildcards = Netiesa .MatchSoundsLike = Netiesa .MatchAllWordForms = Klaidinga pabaiga su pasirinkimu.Find.Execute Replace: = wdReplaceAll End Sub
Rasti ir pakeisti tik pasirinkus
Ši VBA makrokomanda suras ir pakeis pasirinktą tekstą. Taip pat pakeistas tekstas bus kursyvu.
Sub ReplaceInSelection () “pakeičia tekstą TIK pasirinkus. pridedant jis pakeistą tekstą padaro kursyvu Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "their" Su .Replacement .Font.Italic = True .Text = "there" Pabaiga su .Forward = True .Wrap = wdFindStop "tai neleidžia" Word "tęsti iki dokumento pabaigos .Format = True" norime pakeisti ir teksto formatavimą. Su Selection.Find.Execute Replace: = wdReplaceAll End Sub
Ši kodo eilutė neleidžia VBA tęsti iki „Word“ dokumento pabaigos:
.Wrap = wdFindStop 'tai neleidžia „Word“ tęsti iki dokumento pabaigos
Ši kodo eilutė nurodo pakeisti ir teksto formatavimą:
.Format = True 'norime pakeisti ir teksto formatavimą
Raskite ir pakeiskite tik diapazone
Užuot pakeitę tekstą visame dokumente arba pasirinkdami, galime nurodyti VBA surasti ir pakeisti tik diapazone. Šiame pavyzdyje mes apibrėžėme diapazoną kaip pirmąją pastraipą:
Dim oRange as Range Set oRange = ActiveDocument. 1 pastraipos.
Sub ReplaceInRange () “pakeičia tekstą JUST diapazone [šiame pavyzdyje tik pirmoje pastraipoje] Dim oRange As Range Set oRange = ActiveDocument.Paragsments (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Raskite .Text = "jų" .Replacement.Text = "ten" .Forward = Tiesa .Wrap = wdFindStop "tai neleidžia" Word "tęsti iki dokumento pabaigos .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = Netiesa .MatchAllWordForms = Netikra pabaiga su oRange.Find.Execute Replace: = wdReplaceAll End Sub