Je suis en train de fournir des données Excel dans un document Word avec Excel VBA. Ce faisant, j'ai beaucoup de signets dans Word. Parfois, j'ai besoin d'extraire la même valeur d'Excel et de l'insérer dans plusieurs signets dans le document Word. Puis-je utiliser un seul signet au lieu de plusieurs?
Dim totalCount As String
wdApp.Selection.GoTo what:=-1, Name:="Total_tickets"
totalCount = Format(shSLA.Range("E4").End(xlDown).Value)
wdApp.Selection.TypeText totalCount
Dim totalResponded As String
wdApp.Selection.GoTo what:=-1, Name:="Closed_tickets"
totalResponded = Format(shSLA.Range("M4").End(xlDown).Value)
wdApp.Selection.TypeText totalResponded
Dim totalOpen As String
wdApp.Selection.GoTo what:=-1, Name:="Pending_tickets"
totalOpen = Format(shSLA.Range("R4").End(xlDown).Value)
wdApp.Selection.TypeText totalOpen
''Reusing the same variables for different bookmarks now.
wdApp.Selection.GoTo what:=-1, Name:="Service_Request_Summary_TotaA"
wdApp.Selection.TypeText totalCount
wdApp.Selection.GoTo what:=-1, Name:="Service_Request_Summary_TotaB"
wdApp.Selection.TypeText totalCount
wdApp.Selection.GoTo what:=-1, Name:="Service_Request_Summary_Resolved"
wdApp.Selection.TypeText totalResponded
wdApp.Selection.GoTo what:=-1, Name:="Service_Request_Summary_Pending"
wdApp.Selection.TypeText totalOpen
Réponses:
Dans votre document Word, vous pouvez créer un signet, puis renvoyer le texte du signet.
Ainsi, vous créez / définissez le signet pour une valeur particulière à un endroit puis insérez des références croisées (au lieu de créer plusieurs autres signets pour la même valeur). Dans la boîte de dialogue Référence croisée, il suffit de changer le type de référence (liste déroulante en haut à gauche) en Signet et Insérer la référence en (liste déroulante en haut à droite) en Texte de signet.
Ensuite, lorsque vous mettez à jour tous les champs de votre document (ctrl A puis F9), les références croisées se mettront à la même valeur que votre seul signet.
la source