Comment : étendre des plages dans des documents par programmationHow to: Programmatically Extend Ranges in Documents

Une fois que vous avez défini un objet Range dans un document Microsoft Office Word, vous modifiez son point de départ et son point de fin à l’aide des méthodes Microsoft.Office.Interop.Word.Range.MoveStart* et 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. Les méthodes Microsoft.Office.Interop.Word.Range.MoveStart* et Microsoft.Office.Interop.Word.Range.MoveEnd* utilisent les deux mêmes arguments, à savoir Unit et Count.The Microsoft.Office.Interop.Word.Range.MoveStart* and Microsoft.Office.Interop.Word.Range.MoveEnd* methods take the same two arguments, Unit and Count. Les méthodes Count correspond au nombre d’unités à déplacer, tandis que l’argument Unit peut être l’une des valeurs Microsoft.Office.Interop.Word.WdUnits suivantes :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:

  • wdCharacter

  • wdWord

  • wdSentence

  • wdParagraph

  • wdSection

  • wdStory

  • wdCell

  • wdColumn

  • wdRow

  • wdTable

    S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de compléments VSTO pour Word.Applies to: The information in this topic applies to document-level projects and VSTO add-in projects for Word. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.For more information, see Features Available by Office Application and Project Type.

    L’exemple suivant définit une plage de sept caractères.The following example defines a seven-character range. Il déplace ensuite la position de début de la plage de sept caractères après la position de début d’origine.It then moves the start position of the range seven characters after the original start position. Étant donné que la position de fin de la plage était également de sept caractères après la position de début, le résultat est une plage composée de zéro caractère.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. Le code déplace ensuite la position de fin de sept caractères après la position de fin actuelle.The code then moves the end position seven characters after the current end position.

Pour étendre une plageTo extend a range

  1. Définissez une plage de caractères.Define a range of characters. Pour plus d’informations, consultez Comment : définir par programme et sélectionner des plages dans les Documents.For more information, see How to: Programmatically Define and Select Ranges in Documents.

    Vous pouvez utiliser l’exemple de code suivant dans une personnalisation au niveau du document.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);
    

    L’exemple de code suivant peut être utilisé dans un complément VSTO.The following code example can be used in an VSTO Add-in. Cet exemple utilise le document actif.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. Utilisez la méthode Microsoft.Office.Interop.Word.Range.MoveStart* de l’objet Range pour déplacer la position de début de la plage.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. Utilisez la méthode Microsoft.Office.Interop.Word.Range.MoveEnd* de l’objet Range pour déplacer la position de fin de la plage.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);
    

Code de personnalisation au niveau du documentDocument-Level Customization Code

Pour étendre une plage dans une personnalisation au niveau du documentTo extend a range in a document-level customization

  1. L'exemple suivant montre le code complet pour une personnalisation au niveau du document.The following example shows the complete code for a document-level customization. Pour utiliser ce code, exécutez-le à partir de la classe ThisDocument de votre projet.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);
    

Code de complément VSTOVSTO Add-in Code

Pour étendre une plage dans un complément VSTO de niveau applicationTo extend a range in an application-level VSTO Add-in

  1. L’exemple suivant présente le code complet pour un complément VSTO.The following example shows the complete code for an VSTO Add-in. Pour utiliser ce code, exécutez-le à partir de la classe ThisAddIn de votre projet.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);
    

Voir aussiSee Also

Comment : réinitialiser des plages dans Word Documents par programmation How to: Programmatically Reset Ranges in Word Documents
Comment : réduire des plages par programmation ou des sélections dans des Documents How to: Programmatically Collapse Ranges or Selections in Documents
Comment : définir par programme et sélectionner des plages dans des Documents How to: Programmatically Define and Select Ranges in Documents
Comment : récupérer les caractères de début et fin dans les plages par programmation How to: Programmatically Retrieve Start and End Characters in Ranges
Guide pratique pour exclure les marques de paragraphe lors de la création de plages par programmationHow to: Programmatically Exclude Paragraph Marks When Creating Ranges