Étendre les plages par programmation dans les 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 MoveStart et MoveEnd . Les méthodes MoveStart et MoveEnd utilisent les deux mêmes arguments, à savoir Unit et Count. Les méthodes Count correspond au nombre d’unités à déplacer, tandis que l’argument Unit peut être l’une des valeurs WdUnits suivantes :

  • wdCharacter

  • wdWord

  • wdSentence

  • wdParagraph

  • wdSection

  • wdStory

  • wdCell

  • wdColumn

  • wdRow

  • wdTable

    S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document et aux projets de complément VSTO pour Word. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

    L’exemple suivant définit une plage de sept caractères. 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. É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. Le code déplace ensuite la position de fin de sept caractères après la position de fin actuelle.

Pour étendre une plage

  1. Définissez une plage de caractères. Pour plus d’informations, consultez How to : Programally define and select ranges in documents.

    L'exemple de code suivant peut être utilisé dans une personnalisation au niveau du document.

    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. Cet exemple utilise le document actif.

    Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
    
  2. Utilisez la méthode MoveStart de l’objet Range pour déplacer la position de début de la plage.

    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
  3. Utilisez la méthode MoveEnd de l’objet Range pour déplacer la position de fin de la plage.

    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);
    

Code de personnalisation au niveau du document

Pour étendre une plage dans une personnalisation au niveau du document

  1. L'exemple suivant montre le code complet pour une personnalisation au niveau du document. Pour utiliser ce code, exécutez-le à partir de la classe ThisDocument de votre projet.

    // 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 VSTO

Pour étendre une plage dans un complément VSTO de niveau application

  1. L'exemple suivant montre le code complet pour un complément VSTO. Pour utiliser ce code, exécutez-le à partir de la classe ThisAddIn de votre projet.

    // 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);