Kelime VBA Bul
Bu örnek, "a" metnini bulmak için basit bir kelime makrosudur:
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 = False .MatchAllWordForms = Selection.Find.Execute End Sub ile Yanlış Son
Bul ve Değiştir
Bu basit makro, "onların" kelimesini arayacak ve "orada" ile değiştirecektir:
Sub SimpleReplace() Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting with Selection.Find .Text = "onların" .Replacement.Text = "orada" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = Selection ile Yanlış Son.Find.Execute Replace:=wdReplaceAll End Sub
Yalnızca Seçimde Bul ve Değiştir
Bu VBA makrosu, bir seçimdeki metni bulur ve değiştirir. Ayrıca değiştirilen metni italik hale getirir.
Sub ReplaceInSelection() 'seçimdeki SADECE metni değiştirir. ek olarak değiştirilen metni italik yapar Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting with Selection.Find .Text = "onların" .Replacement .Font.Italic = True .Text = "orada" .Forward = True .Wrap = wdFindStop 'bu, Word'ün belgenin sonuna kadar devam etmesini engeller .Format = True 'metnin biçimlendirmesini de değiştirmek istiyoruz .MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False Selection.Find.Execute ile Değiştir:=wdReplaceAll End Sub
Bu kod satırı, VBA'nın Word belgesinin sonuna kadar devam etmesini engeller:
.Wrap = wdFindStop 'bu, Word'ün belgenin sonuna kadar devam etmesini engeller
Bu kod satırı, metnin biçimlendirmesinin de değiştirilmesi gerektiğini belirtir:
.Format = True 'metnin biçimlendirmesini de değiştirmek istiyoruz
Yalnızca Aralıkta Bul ve Değiştir
Tüm belgedeki veya bir seçimdeki metni değiştirmek yerine, VBA'ya yalnızca aralıkta bulmasını ve değiştirmesini söyleyebiliriz. Bu örnekte, aralığı ilk paragraf olarak tanımladık:
Aralık Kümesi Olarak Karart oRange oRange = ActiveDocument.Paragraphs(1).Range
Sub ReplaceInRange() 'aralığındaki SADECE metni değiştirir [bu örnekte sadece ilk paragrafta] Aralık Seti Olarak Dim oRange oRange = ActiveDocument.Paragraphs(1).Range oRange.Find.ClearFormatting oRange.Find.Replacement.ClearFormatting with oRange. Bul .Text = "onların" .Replacement.Text = "orada" .Forward = True .Wrap = wdFindStop 'bu, Word'ün belgenin sonuna kadar devam etmesini engeller .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = orRange.Find.Execute İle Yanlış Son Değiştirin:=wdReplaceAll End Sub