مشاركة عبر


كيفية القيام بما يلي: البحث عن نص في المستندات

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Word 2007

  • Word 2010

الكائنFind عضو في كلا الكائنين Selection و Range و يمكنك استخدام أي منهما إلى للبحث عن النص في مستندات Microsoft Office Word. الأمر replace(يبدل) هو ملحق للأمر find (ابحث). لمزيد من المعلومات حول استبدال النص في المستندات راجع كيفية القيام بما يلي: البحث عن النص واستبداله في المستندات.

استخدام كائن تحديد

عند استخدام كائن Selection للبحث عن نص، فإن أي معيار تحدده يتم تطبيقه فقط على النص المحدد حاليًا. إذا كان Selection نقطة إدراج ، يتم البحث في المستند. عندما يتم العثور على العنصر الذي يطابق المعايير المطلوبة ، يتم اختياره تلقائياً.

من المهم ملاحظة أن المعايير Find تراكمية، مما يعني أنه يتم إضافة المعايير إلى معايير البحث السابقة. امسح الأشكال من عمليات البحث السابقة باستخدام الأسلوب ClearFormatting قبل البحث.

للبحث عن نص باستخدام كائن تحديد

  1. قم بتعيين سلسلة البحث إلى متغير.

    Dim findText As String = "find me"
    
    object findText = "find me";
    
  2. امسح التنسيقات من عمليات البحث السابقة.

    Application.Selection.Find.ClearFormatting()
    
    Application.Selection.Find.ClearFormatting();
    
  3. قم بتنفيذ البحث وعرض مربع الرسالة مع النتائج.

    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.");
    } 
    

يوضح المثال التالي الأسلوب الكامل.

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 يتيح لك إمكانية البحث عن نص بدون عرض أي شيء في واجهه المستخدم . الكائن Find يرجع True إذا تم العثور على نص يطابق معايير البحث، و False إن لم يتم. أيضاً يعيد صياغه الكائن Range لمطابقة معايير البحث إذا تم العثور على النص.

للبحث عن نص باستخدام نطاق كائن

  1. عرّف كائن Range الذى يتكون من ثانى فقرة في المستند.

    يمكن استخدام مثال التعليمات البرمجية التالي في تخصيص على مستوى المستند.

    Dim rng As Word.Range = Me.Paragraphs(2).Range
    
    Word.Range rng = this.Paragraphs[2].Range; 
    

    يمكن استخدام مثال التعليمة البرمجية التالية في المستوى تطبيق إضافة-في. This مثال uses the نشط مستند.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(2).Range
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Paragraphs[2].Range;
    
  2. استخدام الخاصية Find من الكائن Range يقوم أولاً بإلغاء أية خيارات تنسيق موجودة، ثم يقوم بالبحث عن السلسلة اعثر عليّ (find me) .

    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)) 
    { 
    
  3. اعرض نتائج البحث في مربع الرسالة ثم حدد Range لجعله مرئياً.

        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(); 
    

    إذا فشل البحث "، يتم تحديد الفقرة الثانية; في حالة نجاح ذلك، يتم عرض معايير البحث.

يُظهر المثال التالي التعليمات البرمجية الكاملة لتخصيص على مستوى المستند. لاستخدام هذا المثال، قم بتشغيل التعليمات البرمجية من الفئة ThisDocument في مشروعك.

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(); 
}

The following مثال shows the إكمال تعليمات برمجية for an وظيفة إضافية على المستوى تطبيق. لاستخدام هذا المثال، قم بتشغيل التعليمات البرمجية من الفئة ThisAddIn في مشروعك.

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();
}

راجع أيضًا:

المهام

كيفية القيام بما يلي: البحث عن النص واستبداله في المستندات

كيفية القيام بما يلي: تعيين خيارات البحث في Word

كيفية القيام بما يلي: التكرار الحلقي عبر العناصر الموجودة في المستندات

كيفية القيام بما يلي: تعريف و تحديد النطاقات في المستندات

كيفية القيام بما يلي: استعادة التحديدات بعد البحث

المبادئ

المعلمات الاختيارية في حلول Office