Compartir a través de


Cómo: Contraer intervalos o selecciones en documentos mediante programación

Si trabaja con un objeto Range o Selection, puede que le convenga cambiar la selección a un punto de inserción antes de insertar texto, para no sobrescribir el texto existente.Tanto el objeto Range como Selection incluyen un método Collapse que utiliza los valores de la enumeración WdCollapseDirection:

  • wdCollapseStart contrae la selección hasta el principio.Ésta es la forma predeterminada si no se especifica un valor de la enumeración.

  • wdCollapseEnd contrae la selección hasta el final.

Se aplica a: La información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Word 2013 y Word 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Para contraer un rango e insertar un texto nuevo

  1. Cree un objeto Range que contenga el primer párrafo del documento.

    El ejemplo de código siguiente se puede usar en una personalización de nivel de documento.

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

    El ejemplo de código siguiente se puede usar en un complemento de nivel de aplicación.En este código se usa el documento activo.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(1).Range
    
    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. Utilice el valor de la enumeración wdCollapseStart para contraer el intervalo.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart); 
    
  3. Inserte el nuevo texto.

    rng.Text = " New Text "
    
    rng.Text = " New Text ";
    
  4. Seleccione Range.

    rng.Select()
    
    rng.Select();
    

Si utiliza el valor de la enumeración wdCollapseEnd, el texto se insertará al principio del párrafo siguiente.

rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);

Cabría esperar que la inserción de una frase nueva se produjera antes de la marca de párrafo, pero esto no ocurre porque el rango original incluye la marca de párrafo.Para obtener más información, vea Cómo: Excluir marcas de párrafo al crear intervalos mediante programación.

Ejemplo de personalización de nivel de documento

Para contraer un intervalo en una personalización de nivel de documento

  • En el ejemplo siguiente se muestra el método completo de una personalización de nivel de documento.Para usar este código, ejecútelo desde la clase ThisDocument del proyecto.

    Dim rng As Word.Range = Me.Paragraphs(1).Range
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
    
    rng.Text = " New Text "
    rng.Select()
    
    Word.Range rng = this.Paragraphs[1].Range; 
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart); 
    
    rng.Text = " New Text ";
    rng.Select();
    

Ejemplo de complemento de nivel de aplicación

Para contraer un intervalo en un complemento de nivel de aplicación

  • En el ejemplo siguiente se muestra el método completo de un complemento de nivel de aplicación.Para usar este código, ejecútelo desde la clase ThisAddIn del proyecto.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(1).Range
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
    
    rng.Text = " New Text "
    rng.Select()
    
    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
    rng.Text = " New Text ";
    rng.Select();
    

Vea también

Tareas

Cómo: Insertar texto en documentos de Word mediante programación

Cómo: Definir y seleccionar intervalos en documentos mediante programación

Cómo: Recuperar los caracteres inicial y final de los intervalos mediante programación

Cómo: Excluir marcas de párrafo al crear intervalos mediante programación

Cómo: Ampliar intervalos en documentos mediante programación

Cómo: Restablecer intervalos en documentos de Word mediante programación