Réduire par programmation des plages ou des sélections dans des documents

Si vous travaillez avec un objet Range ou Selection , vous pouvez remplacer la sélection par un point d’insertion avant d’insérer du texte, afin d’éviter de remplacer le texte existant. Les objets et Selection les Range deux ont une méthode Collapse, qui utilise les WdCollapseDirection valeurs d’énumération :

Pour réduire une plage et insérer un nouveau texte

  1. Créez un objet Range constitué du premier paragraphe du document.

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

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

    L'exemple de code suivant peut être utilisé dans un complément VSTO. Ce code utilise le document actif.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. Utilisez la valeur d’énumération wdCollapseStart pour réduire la plage.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
  3. Insérez le nouveau texte.

    rng.Text = " New Text ";
    
  4. Sélectionnez Range.

    rng.Select();
    

    Si vous utilisez la valeur d’énumération wdCollapseEnd , le texte est inséré au début du paragraphe suivant.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
    

Vous pourriez vous attendre à ce que l’insertion d’une nouvelle phrase se fasse avant la marque de paragraphe, mais ce n’est pas le cas, car celle-ci est incluse dans la plage d’origine.

Exemple de personnalisation au niveau du document

Pour réduire une plage dans une personnalisation au niveau du document

  1. L’exemple suivant affiche la méthode complète correspondant à la personnalisation au niveau du document. Pour utiliser ce code, exécutez-le à partir de la classe ThisDocument de votre projet.

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

Exemple de complément VSTO

Pour réduire une plage dans un complément VSTO

  1. L’exemple suivant montre la méthode complète d’un complément VSTO. Pour utiliser ce code, exécutez-le à partir de la classe ThisAddIn de votre projet.

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