مشاركة عبر


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

ينطبق على

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

نوع المشروع

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

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

إصدار Microsoft Office

  • Word 2007

  • Word 2010

في حالة البحث عن نص في مستند واستبداله قد تحتاج إلى استعادة التحديد الأصلي للمستخدم بعد إكمال البحث.

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

لاستعادة تحديد المستخدم الأصلي بعد بحث

  1. قم بإنشاء كائنات Range خاصة بالمستند و التحديد الحالي .

    Dim start As Word.Range = Application.Selection.Range
    Dim searchArea As Word.Range = Application.ActiveDocument.Range
    
    Word.Range start = Application.Selection.Range; 
    Word.Range searchArea = Application.ActiveDocument.Range(ref missing, ref missing); 
    
  2. تنفيذ البحث و عملية الاستبدال.

    searchArea.Find.ClearFormatting()
    searchArea.Find.Text = "find me"
    
    searchArea.Find.Replacement.ClearFormatting()
    searchArea.Find.Replacement.Text = "Found"
    
    searchArea.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)
    
    searchArea.Find.ClearFormatting(); 
    searchArea.Find.Text = "find me"; 
    
    searchArea.Find.Replacement.ClearFormatting(); 
    searchArea.Find.Replacement.Text = "Found"; 
    
    object replaceAll = Word.WdReplace.wdReplaceAll; 
    
    searchArea.Find.Execute(
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);
    
  3. حدد نطاق البدء لاستعادة تحديد المستخدم الأصلي .

    start.Select()
    
    start.Select(); 
    

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

مثال

Friend Sub ReplaceRestoreSelection()
    Dim start As Word.Range = Application.Selection.Range
    Dim searchArea As Word.Range = Application.ActiveDocument.Range

    searchArea.Find.ClearFormatting()
    searchArea.Find.Text = "find me"

    searchArea.Find.Replacement.ClearFormatting()
    searchArea.Find.Replacement.Text = "Found"

    searchArea.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)

    start.Select()
End Sub
internal void ReplaceRestoreSelection() 
{ 
    Word.Range start = Application.Selection.Range; 
    Word.Range searchArea = Application.ActiveDocument.Range(ref missing, ref missing); 

    searchArea.Find.ClearFormatting(); 
    searchArea.Find.Text = "find me"; 

    searchArea.Find.Replacement.ClearFormatting(); 
    searchArea.Find.Replacement.Text = "Found"; 

    object replaceAll = Word.WdReplace.wdReplaceAll; 

    searchArea.Find.Execute(
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);

    start.Select(); 
}

راجع أيضًا:

المهام

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

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

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

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

المبادئ

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