Compartir vía


Contraer intervalos o selecciones mediante programación en documentos

Si está trabajando con un objeto Range o Selection , puede que desee cambiar la selección a un punto de inserción antes de insertar el texto, para no sobrescribir el texto existente. Range Los objetos y Selection tienen un método Collapse, que hace uso de los WdCollapseDirection valores de enumeración:

Para contraer un rango e insertar texto nuevo

  1. Cree un objeto Range formado por el primer párrafo del documento.

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

    Word.Range rng = this.Paragraphs[1].Range;
    

    El siguiente ejemplo de código se puede usar en un complemento de VSTO. Este código usa el documento activo.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. Utilice el valor de enumeración wdCollapseStart para contraer el rango.

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

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

    rng.Select();
    

    Si usa el valor de enumeración wdCollapseEnd , el texto se inserta al principio del párrafo siguiente.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
    

Puede que espere que al insertar una nueva frase, se inserte antes del marcador de párrafo, pero esto no ocurre porque el rango original incluye la marca de párrafo.

Ejemplo de personalización de nivel de documento

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

  1. En el siguiente ejemplo 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.

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

Ejemplo de complemento de VSTO

Para contraer un intervalo en un complemento de VSTO

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

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