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
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;
Utilice el valor de la enumeración wdCollapseStart para contraer el intervalo.
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
Inserte el nuevo texto.
rng.Text = " New Text "
rng.Text = " New Text ";
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