Cómo: Restaurar selecciones después de realizar búsquedas

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos de Visual Studio Tools para Office y versiones de Microsoft Office especificados.

Tipo de proyecto

  • Proyectos de nivel de documento

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Word 2003

  • Word 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Si busca y reemplaza un texto en un documento, puede que necesite restaurar la selección original del usuario al finalizar la búsqueda.

El código del procedimiento de ejemplo siguiente utiliza dos objetos Range. Uno de ellos almacena el objeto Selection actual y el otro configura el documento completo para utilizarlo como rango de búsqueda.

Para restaurar la selección original del usuario después de una búsqueda

  1. Cree los objetos Range para el documento y la selección actual.

    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. Realice la operación del buscar y reemplazar.

    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. Seleccione el inicio del rango para restaurar la selección original del usuario.

    start.Select()
    
    start.Select(); 
    

En el siguiente ejemplo se muestra el método completo.

Ejemplo

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

Vea también

Tareas

Cómo: Buscar y reemplazar texto en documentos

Cómo: Buscar texto en documentos

Cómo: Establecer opciones de búsqueda en Word

Cómo: Recorrer los elementos encontrados en documentos

Conceptos

Descripción de los parámetros opcionales en las soluciones de Office