Utilisation de l'objet Selection
En règle générale, lorsque vous travaillez sur un document dans Word, vous sélectionnez du texte et vous effectuez ensuite une action, telle que l'application d'une mise en forme ou la saisie de texte. Dans Visual Basic, il n'est en général pas nécessaire de sélectionner du texte avant de le modifier. Au lieu de cela, vous créez un objet Range qui fait référence à une partie spécifique du document. Pour plus d'informations sur la définition d'objets Range, voir Utilisation des objets Range. Toutefois, lorsque vous souhaitez que votre code réponde à une sélection ou le modifie, vous pouvez le faire à l’aide de l’objet Selection .
Si le texte n’est pas encore sélectionné, utilisez la méthode Select pour sélectionner le texte associé à un objet spécifique et créer un objet Selection. Par exemple, l’instruction ci-dessous sélectionne le premier mot du document actif.
Sub SelectFirstWord()
ActiveDocument.Words(1).Select
End Sub
Pour plus d’informations, voir Sélection de texte dans un document. Si le texte est déjà sélectionné, utilisez la propriété Selection pour renvoyer un objet Selection qui représente la sélection actuelle dans un document. Il ne peut y avoir qu'un seul objet Selection par document et il accède toujours à la sélection active. Cet exemple montre comment modifier la mise en forme des paragraphes de la sélection :
Sub FormatSelection()
Selection.Paragraphs.LeftIndent = InchesToPoints(0.5)
End Sub
Cet exemple montre comment insérer le mot « Hello » après la sélection active :
Sub InsertTextAfterSelection()
Selection.InsertAfter Text:="Hello "
End Sub
Cet exemple montre comment mettre en gras le texte sélectionné :
Sub BoldSelectedText()
Selection.Font.Bold = True
End Sub
Les macros créées par l'enregistreur de macros utilisent souvent l'objet Selection. L'exemple ci-dessous a été créé à l'aide de l'enregistreur de macros. Cette macro sélectionne les deux premiers mots du document actif et les met en gras.
Sub Macro()
Selection.HomeKey Unit:=wdStory
Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend
Selection.Font.Bold = wdToggle
End Sub
Cet exemple montre comment accomplir la même tâche sans sélectionner le texte ni utiliser l'objet Selection :
Sub WorkingWithRanges()
ActiveDocument.Range(Start:=0, _
End:=ActiveDocument.Words(2).End).Bold = True
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour