Satura rādītājs
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