Word VBA makro - atrast, atrast un aizstāt

Word VBA Atrast

Šis piemērs ir vienkāršs vārdu makro, atrodiet tekstu “a”:

Sub SimpleFind () Selection.Find.CearFormatting With Selection.Find .Text = "a" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = Nepareizs beigas ar atlasi. Atrast. Izpildīt beigu apakšdaļu

Atrodiet un nomainiet

Šis vienkāršais makro meklēs vārdu “viņu” un aizstās to ar “tur”:

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 = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End with Selection.Find.Execute Replace: = wdReplaceAll End Sub

Atrodiet un nomainiet tikai atlasē

Šis VBA makro atradīs un aizstās tekstu atlasē. Tas arī novirzīs slīprakstā aizstāto tekstu.

Sub ReplaceInSelection () ”aizstāj tekstu TIKAI atlasē. papildinājumā tas aizvietoto tekstu padara slīprakstā Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "their" Ar .Replacement .Font.Italic = True .Text = "there" Beigt ar .Forward = True .Wrap = wdFindStop "tas neļauj Word turpināt līdz dokumenta beigām .Format = True" mēs vēlamies aizstāt arī teksta formatējumu. Ar Selection.Find.Execute Replace: = wdReplaceAll End Sub

Šī koda rinda neļauj VBA turpināt darbu līdz Word dokumenta beigām:

.Wrap = wdFindStop 'tas neļauj Word turpināt līdz dokumenta beigām

Šī koda rinda norāda, ka jāaizstāj arī teksta formatējums:

.Format = True 'mēs vēlamies aizstāt arī teksta formatējumu

Atrodiet un nomainiet tikai diapazonā

Tā vietā, lai aizstātu tekstu visā dokumentā vai atlasē, mēs varam likt VBA atrast un aizstāt tikai diapazonā. Šajā piemērā mēs definējām diapazonu kā pirmo rindkopu:

Dim oRange kā diapazona kopa oRange = ActiveDocument. Punkti (1). Diapazons
Sub ReplaceInRange () ”aizstāj tekstu JUST diapazonā [šajā piemērā tikai pirmajā rindkopā] Dim oRange As Range Set oRange = ActiveDocument.Paragrāfijas (1) .Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting With oRange. Atrodiet .Text = "viņu" .Replacement.Text = "tur" .Forward = True .Wrap = wdFindStop 'tas neļauj Word turpināt līdz dokumenta beigām .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = Nepareizs beigas ar oRange.Find.Execute Replace: = wdReplaceAll End Sub 
wave wave wave wave wave