J'ai créé un programme Visual Basic pour Applications dans Microsoft Word (2016, 64bit, Windows 10)Renseignez les zones de texte ContentControl MS-Word à partir des zones de texte UserForm avec le même nom/tag?
Il se compose d'un UserForm avec environ 30 TextBoxes et un bouton d'envoi. Chaque TextBox a un nom et un tag uniques.
J'ai également le même nombre de zones de texte ContentControl dans le document Word, chacune d'entre elles ayant le même titre et la même balise que la zone de texte UserForm correspondante. Qu'est-ce que je suis après est un meilleur moyen de remplir les zones de texte du document à partir des UserForm TextBoxes lorsque l'utilisateur clique sur soumettre. Je le fais actuellement en tapant 3 lignes de code pour chaque TextBox, mais c'est fastidieux. Je copie et colle les 3 lignes de code à chaque fois mais je dois éditer une petite partie de chaque ligne à chaque fois.
J'ai pensé utiliser une boucle, comme indiqué dans le code ci-dessous, où j'utilise une variable x
pour copier le TextBox par son nom, mais je ne sais pas comment procéder.
Dim doc As Document
Dim ccs As ContentControls
Dim cc As ContentControl
Set doc = ActiveDocument
For …
' Somehow find each text box, put the name of one into variable x then
Set ccs = doc.SelectContentControlsByTag(x)
Set cc = ccs(1)
cc.Range.Text = x.Text
Next
Merci d'avance!
Je viens Réécriture de la question. J'espère que c'est mieux! Si vous pensez que c'est le cas et que vous voulez le faire, s'il vous plaît n'hésitez pas! Merci! Vous m'avez déjà aidé à le comprendre, mais je voulais le rendre meilleur au cas où quelqu'un d'autre aurait besoin d'aide dans le futur! Merci aussi de m'avoir sauvé autant d'heures! – James