Nasıl Yapılır: Belgelerde Metin Arama
Find nesnesi, Selection ve Range nesnelerinin bir üyesidir ve onlardan herhangi birini Microsoft Office Word belgelerinde metin aramak için kullanabilirsiniz. Değiştir komutu, bul komutunun bir uzantısıdır. Belgelerde metin değiştirme hakkında bilgi için bkz. Nasıl Yapılır: Belgelerde Metin Arama ve Değiştirme.
Uygulama alanı: Bu konudaki bilgiler Word 2007 ve Word 2010 uygulamalarının belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.
Seçim Nesnesi Kullanma
Metin bulmak için Selection nesnesi kullandığınızda, belirlediğiniz herhangi bir arama kriteri, sadece geçerli olan seçilmiş metne uygulanır. Eğer Selection bir kesişim noktasıysa, belge aranmıştır. Eğer bulunan öğe arama kriteriyle eşleşmişse, otomatik olarak seçilir.
Find kriterlerinin birikimli olduğunu bilmek önemlidir, yani kriterler önceki arama kriterlerine eklenir. Biçimlendirmeyi önceki aramalardan, arama yapmadan önce ClearFormatting yöntemini kullanarak temizleyin.
Selection nesnesi kullanarak metin bulmak için
Değişkene bir arama dizesi atayın.
Dim findText As String = "find me"
object findText = "find me";
Önceki aramalardan biçimlendirmeyi temizleyin.
Application.Selection.Find.ClearFormatting()
Application.Selection.Find.ClearFormatting();
Aramayı yürütün ve sonuçlarla birlikte bir ileti kutusu görüntüleyin.
If Application.Selection.Find.Execute(findText) = True Then MessageBox.Show("Text found.") Else MessageBox.Show("The text could not be located.") End If
if (Application.Selection.Find.Execute(ref findText, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing)) { MessageBox.Show("Text found."); } else { MessageBox.Show("The text could not be located."); }
Aşağıdaki örnekte tamamlanmış yöntem gösterilmektedir.
Private Sub SelectionFind()
Dim findText As String = "find me"
Application.Selection.Find.ClearFormatting()
If Application.Selection.Find.Execute(findText) = True Then
MessageBox.Show("Text found.")
Else
MessageBox.Show("The text could not be located.")
End If
End Sub
private void SelectionFind()
{
object findText = "find me";
Application.Selection.Find.ClearFormatting();
if (Application.Selection.Find.Execute(ref findText,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing))
{
MessageBox.Show("Text found.");
}
else
{
MessageBox.Show("The text could not be located.");
}
}
Range Nesnesi Kullanma
Range nesnesi kullanmak, kullanıcı arayüzünde hiçbir şey görüntülemeden metin aramanıza olanak sağlar. Eğer arama kriterleriyle eşleşen metin bulunursa, Find nesnesi True, bulunmazsa da False döner. Ayrıca metin bulunduğunda arama kriterleriyle eşleşmesi için Range nesnesini yeniden tanımlar.
Range nesnesi kullanarak metin bulmak için
Belgedeki ikinci paragrafı içeren Range nesnesini tanımlayın.
Aşağıdaki kod örneği belge düzeyi özelleştirmelerinde kullanılabilir.
Dim rng As Word.Range = Me.Paragraphs(2).Range
Word.Range rng = this.Paragraphs[2].Range;
Aşağıdaki kod örneği uygulama düzeyi eklentilerinde kullanılabilir. Bu örnekte etkin belge kullanılır.
Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(2).Range
Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Paragraphs[2].Range;
Range nesnesinin Find özelliğini kullanarak, varolan herhangi biçimlendirme seçeneklerini temizleyin ve find me dizesi için arama yapın.
rng.Find.ClearFormatting() If rng.Find.Execute(findText) Then
rng.Find.ClearFormatting(); if (rng.Find.Execute(ref findText, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing)) {
Aramanın sonuçlarını bir ileti kutusunda görüntüleyin ve onu görünür yapmak için Range'i seçin.
MessageBox.Show("Text found.") Else MessageBox.Show("Text not found.") End If rng.Select()
MessageBox.Show("Text found."); } else { MessageBox.Show("Text not found."); } rng.Select();
Eğer arama başarısız olursa, ikinci paragraf seçilir; eğer başarılı olursa, arama kriterleri görüntülenir.
Aşağıdaki örnekte belge düzeyi özelleştirmesi için tüm kod gösterilir. Bu örneğini kullanmak için projenizdeki ThisDocument sınıfından kodu çalıştırın.
Private Sub RangeFind()
Dim findText As String = "find me"
Dim rng As Word.Range = Me.Paragraphs(2).Range
rng.Find.ClearFormatting()
If rng.Find.Execute(findText) Then
MessageBox.Show("Text found.")
Else
MessageBox.Show("Text not found.")
End If
rng.Select()
End Sub
private void RangeFind()
{
object findText = "find me";
Word.Range rng = this.Paragraphs[2].Range;
rng.Find.ClearFormatting();
if (rng.Find.Execute(ref findText,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing))
{
MessageBox.Show("Text found.");
}
else
{
MessageBox.Show("Text not found.");
}
rng.Select();
}
Aşağıdaki örnekte uygulama düzeyi eklentisi için tüm kod gösterilir. Bu örneğini kullanmak için projenizdeki ThisAddIn sınıfından kodu çalıştırın.
Private Sub RangeFind()
Dim findText As Object = "find me"
Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(2).Range
rng.Find.ClearFormatting()
If rng.Find.Execute(findText) Then
MessageBox.Show("Text found.")
Else
MessageBox.Show("Text not found.")
End If
rng.Select()
End Sub
private void RangeFind()
{
object findText = "find me";
Word.Document document = this.Application.ActiveDocument;
Word.Range rng = document.Paragraphs[2].Range;
rng.Find.ClearFormatting();
if (rng.Find.Execute(ref findText,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing))
{
MessageBox.Show("Text found.");
}
else
{
MessageBox.Show("Text not found.");
}
rng.Select();
}
Ayrıca bkz.
Görevler
Nasıl Yapılır: Belgelerde Metin Arama ve Değiştirme
Nasıl Yapılır: Word'de Arama Seçeneklerini Ayarlama
Nasıl Yapılır: Belgelerde Bulunan Öğeler Arasında Döngü Gerçekleştirme
Nasıl Yapılır: Belgelerde Aralıkları Tanımlama ve Seçme
Nasıl Yapılır: Arama Yaptıktan Sonra Seçimleri Geri Yükleme