Cómo: ampliar rangos en documentos mediante programaciónHow to: Programmatically Extend Ranges in Documents

Después de definir un objeto Range en un documento de Microsoft Office Word, se pueden cambiar sus puntos de inicio y final mediante los métodos Microsoft.Office.Interop.Word.Range.MoveStart* y Microsoft.Office.Interop.Word.Range.MoveEnd* .After you define a Range object in a Microsoft Office Word document, you change its start and end points by using the Microsoft.Office.Interop.Word.Range.MoveStart* and Microsoft.Office.Interop.Word.Range.MoveEnd* methods. Los métodos Microsoft.Office.Interop.Word.Range.MoveStart* y Microsoft.Office.Interop.Word.Range.MoveEnd* usan los mismos argumentos, Unit y Count.The Microsoft.Office.Interop.Word.Range.MoveStart* and Microsoft.Office.Interop.Word.Range.MoveEnd* methods take the same two arguments, Unit and Count. Los métodos Count es el número de unidades que se mueven y el argumento Unit puede ser uno de los siguientes valores Microsoft.Office.Interop.Word.WdUnits :The Count argument is the number of units to move, and the Unit argument can be one of the following Microsoft.Office.Interop.Word.WdUnits values:

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdCharacter>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdWord>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdSentence>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdParagraph>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdSection>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdStory>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdCell>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdColumn>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdRow>

  • <xref:Microsoft.Office.Interop.Word.WdUnits.wdTable>

    Aplicación: la información de este tema se aplica a los proyectos de nivel de documento y a los proyectos de complemento de VSTO para Word.Applies to: The information in this topic applies to document-level projects and VSTO add-in projects for Word. Para obtener más información, consulte Características disponibles por aplicación y tipo de proyecto de Office.For more information, see Features Available by Office Application and Project Type.

    En el ejemplo siguiente se define un rango de siete caracteres.The following example defines a seven-character range. A continuación, se mueve la posición inicial del rango siete caracteres después de la posición inicial original.It then moves the start position of the range seven characters after the original start position. Puesto que la posición final del rango también estaba situada siete caracteres después de la posición inicial, el resultado es un rango que consta de cero caracteres.Because the end position of the range was also seven characters after the start position, the result is a range that consists of zero characters. Posteriormente, el código mueve la posición final siete caracteres después de la posición final actual.The code then moves the end position seven characters after the current end position.

Para extender un rangoTo extend a range

  1. Defina un rango de caracteres.Define a range of characters. Para obtener más información, consulte Cómo: definir mediante programación y seleccionar rangos en documentos.For more information, see How to: Programmatically Define and Select Ranges in Documents.

    El siguiente ejemplo de código se puede usar en una personalización de nivel de documento.The following code example can be used in a document-level customization.

    Dim rng As Word.Range = Me.Range(Start:=0, End:=7)
    
    object start = 0;
    object end = 7;
    Word.Range rng = this.Range(ref start, ref end);
    

    El siguiente ejemplo de código se puede usar en un complemento de VSTO.The following code example can be used in an VSTO Add-in. En este ejemplo se usa el documento activo.This example uses the active document.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
    
    Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
    
  2. Use el método Microsoft.Office.Interop.Word.Range.MoveStart* del objeto Range para mover la posición inicial del rango.Use the Microsoft.Office.Interop.Word.Range.MoveStart* method of the Range object to move the start position of the range.

    rng.MoveStart(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
  3. Use el método Microsoft.Office.Interop.Word.Range.MoveEnd* del objeto Range para mover la posición final del rango.Use the Microsoft.Office.Interop.Word.Range.MoveEnd* method of the Range object to move the end position of the range.

    rng.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);
    

Código de personalizaciones de nivel de documentoDocument-Level Customization Code

Para extender un rango en una personalización de nivel de documentoTo extend a range in a document-level customization

  1. En el siguiente ejemplo se muestra el código completo de una personalización de nivel de documento.The following example shows the complete code for a document-level customization. Para usar este código, ejecútelo desde la clase ThisDocument del proyecto.To use this code, run it from the ThisDocument class in your project.

    ' Define a range of 7 characters.
    Dim rng As Word.Range = Me.Range(Start:=0, End:=7)
    
    ' Move the start position 7 characters.
    rng.MoveStart(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    ' Move the end position 7 characters.
    rng.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    // Define a range of 7 characters.
    object start = 0;
    object end = 7;
    Word.Range rng = this.Range(ref start, ref end);
    
    // Move the start position 7 characters.
    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
    // Move the end position 7 characters.
    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);
    

Código de complementos de VSTOVSTO Add-in Code

Para extender un rango en un complemento de VSTO de nivel de aplicaciónTo extend a range in an application-level VSTO Add-in

  1. En el siguiente ejemplo se muestra el código completo de un complemento de VSTO.The following example shows the complete code for an VSTO Add-in. Para usar este código, ejecútelo desde la clase ThisAddIn del proyecto.To use this code, run it from the ThisAddIn class in your project.

    ' Define a range of 7 characters.
    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
    
    ' Move the start position 7 characters.
    rng.MoveStart(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    ' Move the end position 7 characters.
    rng.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    // Define a range of 7 characters.
    Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
    
    // Move the start position 7 characters.
    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
    // Move the end position 7 characters.
    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);
    

Vea tambiénSee Also

Cómo: restablecer intervalos en Word documentos mediante programación How to: Programmatically Reset Ranges in Word Documents
Cómo: contraer intervalos o mediante programación las selecciones en documentos How to: Programmatically Collapse Ranges or Selections in Documents
Cómo: definir mediante programación y seleccionar rangos en documentos How to: Programmatically Define and Select Ranges in Documents
Cómo: recuperar los caracteres inicial y final de los intervalos mediante programación How to: Programmatically Retrieve Start and End Characters in Ranges
Cómo: Excluir marcas de párrafo al crear intervalos mediante programaciónHow to: Programmatically Exclude Paragraph Marks When Creating Ranges