web-dev-qa-db-fra.com

Répéter une entrée utilisateur dans un document Microsoft Word

J'essaie de créer un document dans lequel l'utilisateur aura la possibilité de saisir du texte et j'aimerais l'utiliser dans les autres endroits du même document. Le texte saisi par l'utilisateur sera utilisé à de nombreux endroits dans le même document et le changement de nom à tout moment doit être reflété dans le reste du document.

Par exemple, dans la toute première page du document, j'aimerais obtenir le nom et l'âge de l'utilisateur et l'utiliser à d'autres endroits, comme indiqué dans la capture d'écran suivante.

enter image description here

J'ai essayé d'utiliser le contrôle de contenu en texte brut pour obtenir le nom et l'âge. Mais je ne pouvais pas trouver un moyen d'insérer ces champs dans mon texte.

Des idées sur la façon dont je peux y arriver? Je suis même prêt à faire un mailmerge, mais je ne veux pas que les données proviennent d'un endroit autre que ce document. La capture d’écran a été essayée dans Office 2013, mais ce serait bien si elle fonctionnait correctement à partir de 2007. Je ne veux pas le faire avec des macros.

11
Narayanan

Je pense que vous devrez utiliser le modèle Word et les DocVariables. Cela signifie aussi un peu de VBA mais ce tutoriel le couvre

http://www.gmayor.com/BookmarkandVariableEditor.htm

Cependant, comme exemple de faire lire le contenu ailleurs, ceci peut vous aider à aller de l'avant ... Ce n'est pas parfait, mais cela peut être un bon début!

Dans Word, ajoutez la barre d'outils de développeur au ruban.

Dans la barre d’outils des développeurs, déposez 2 zones de texte à partir de l’onglet contrôles.

Cliquez sur la barre d'outils Insérer.

Maintenant, cliquez sur la première zone de texte (celle où le texte doit également être copié). Assurez-vous de cliquer sur les 3 petits points sur le côté gauche afin que la zone de texte entière soit sélectionnée. Lorsque vous l'avez sélectionné, le signet (sous Liens) doit être activé. Cliquez dessus et donnez-lui un nom approprié.

Cliquez sur la deuxième zone de texte et faites la même chose, mais cette fois-ci, cliquez sur Référence croisée. Dans la liste déroulante, sélectionnez les signets, puis recherchez le signet en question.

Ceci est configuré, mais vous devez mettre à jour manuellement le champ. Donc, tapez du texte dans la première zone de texte, puis cliquez avec le bouton droit de la souris sur la seconde et sélectionnez Mettre à jour les champs. Comme je l'ai dit, pas parfait, mais j'espère un début!

Cet article explique que cela peut être fait avec un modèle et des macros. http://Word.mvps.org/FAQs/Userforms/CreateAUserform.htm

6
Dave

Pour Windows Word 2007 et versions ultérieures, vous pouvez utiliser certains des contrôles de contenu que Word insère à partir de Insertion -> Parties rapides -> Propriété du document ... Par exemple, si vous insérez le Propriété de document "Auteur", Word insère un contrôle de contenu connecté à la propriété intégrée. Ainsi, lorsque vous modifiez la valeur dans une copie du contrôle de contenu, la valeur de la propriété est mise à jour, puis tous les autres contrôles de contenu Auteur sont mis à jour automatiquement. Cela diffère de l'approche antérieure à Word 2007 dans laquelle vous deviez insérer un champ {AUTHOR}, le sélectionner et le mettre à jour.

À l'aide de l'onglet Développeur, vous pouvez sélectionner le contrôle de contenu résultant et lui attribuer un nouveau titre tel que "Âge". Ensuite, vous pouvez copier/coller des copies du contrôle avec ce titre. En général, il est également utile de rendre les contrôles non supprimables.

Si vous ne souhaitez pas utiliser les propriétés intégrées traditionnelles telles que Auteur, etc., vous pouvez utiliser un ensemble de cinq "propriétés" appelées Propriétés de la page de couverture. Celles-ci sont également disponibles dans le menu Propriété du document ..., mais les valeurs sont stockées à un emplacement différent, c’est-à-dire dans une partie XML personnalisée créée par Word. Je pense qu’il s’agit de l’adresse de la société, de son adresse électronique, de son télécopieur, de son numéro de téléphone et de sa date de publication. De nouveau, vous pouvez modifier le titre à l’aide de l’onglet Développeur.

Au-delà, vous devez utiliser VBA ou autre. Si vous utilisez des contrôles de contenu, vous devez créer votre propre partie XML personnalisée pour stocker les valeurs et connecter les contrôles à ce magasin. Vous trouverez un bon résumé des différentes options pour "répéter les données" ici

FWIW, si vous devez utiliser des formulaires dans Word, le type de champ de formulaire le plus "compatible" est ce que l’on appelle "champs de formulaire hérités" dans Windows Word, car ce sont les seuls types qui fonctionnent également dans Mac Word. Mais si vous n’avez besoin que de choses pour fonctionner dans Windows Word 2007 et versions ultérieures, les contrôles de contenu présentent certains avantages.

12
user181946