Comment : réduire des plages ou des sélections dans des documents par programmation
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 Range et Selection ont une méthode Collapse qui utilise les valeurs d'énumération WdCollapseDirection :
wdCollapseStart réduit la sélection au début de la sélection.Il s'agit de la valeur par défaut lorsque vous ne spécifiez pas de valeur d'énumération.
wdCollapseEnd réduit la sélection à la fin de la sélection.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Word 2013 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Pour réduire une plage et insérer un nouveau texte
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.
Dim rng As Word.Range = Me.Paragraphs(1).Range
Word.Range rng = this.Paragraphs[1].Range;
L'exemple de code suivant peut être utilisé dans un complément d'application.Ce code utilise le document actif.
Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(1).Range
Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
Utilisez la valeur d'énumération wdCollapseStart pour réduire la plage.
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
Insérez le nouveau texte.
rng.Text = " New Text "
rng.Text = " New Text ";
Sélectionnez la Range.
rng.Select()
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)
rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
On pourrait s'attendre à ce que l'insertion d'une nouvelle phrase se fasse avant la marque de paragraphe, mais ce n'est pas le cas puisque celle-ci est incluse dans la plage d'origine.Pour plus d’informations, consultez Comment : exclure les marques de paragraphe lors de la création de plages par programmation.
Exemple de personnalisation au niveau du document
Pour réduire une plage dans une personnalisation au niveau du document
L'exemple suivant affiche la méthode complète correspondant à la personnalisation au niveau du document.Pour utiliser ce code, exécutez-le dans votre projet à partir de la classe ThisDocument.
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();
Exemple de complément d'application
Pour réduire une plage dans un complément d'application
L'exemple suivant affiche la méthode complète correspondant à un complément d'application.Pour utiliser ce code, exécutez-le dans votre projet à partir de la classe ThisAddIn.
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();
Voir aussi
Tâches
Comment : insérer du texte dans les documents Word par programmation
Comment : définir et sélectionner des plages dans les documents par programmation
Comment : récupérer les caractères de début et de fin dans les plages par programmation
Comment : exclure les marques de paragraphe lors de la création de plages par programmation
Comment : étendre des plages dans des documents par programmation
Comment : réinitialiser des plages dans les documents Word par programmation