En plus d'insérer et d'analyser du texte dans un champ Word vierge, existe-t-il un moyen de créer par programmation des champs et des codes de champ définis par l'utilisateur dans mes propres modèles avec VBA? De plus, existe-t-il un moyen de faire apparaître ces champs dans la liste des champs disponibles?Comment puis-je créer des champs Word avec VBA
Répondre
J'ai récemment développé une solution qui utilisait les types de champs MACROBUTTON et ADDIN de Word.
J'ai trouvé MACROBUTTON utile parce que la troisième entrée délimitée par des espaces blancs à l'intérieur du champ (par programme field.code.text) est affichée dans Word. Cela permet à mes utilisateurs de regarder les champs lorsqu'ils se déplacent. {MACROBUTTON NoMacro *} affichera un "*" dans Word, par ex. Et cela ne servirait à rien si l'utilisateur double-cliquait dessus, car je n'ai volontairement pas défini de macro nommée "NoMacro".
Le champ ADDIN ne s'affiche pas (sauf lorsque les codes de champ d'affichage sont activés) et stocke une chaîne cachée dans sa propriété field.data. En utilisant ce champ je pourrais avoir un champ caché dont le contenu ne pourrait pas être vu ou modifié par les utilisateurs (excepté que s'ils activent des "codes de champ d'affichage" ils peuvent voir qu'il s'agit d'un champ ADDIN (mais ils ne peuvent pas voir/éditer propriété "données"), et qu'ils peuvent supprimer ce champ comme tout autre domaine)
J'ai trouvé ces pages utiles:.
Qu'aviez-vous en tête? Il est possible d'ajouter des propriétés de document personnalisées manuellement ou avec VBA. Ce sont les accessibles champs sous DOCPROPERTY:
{ DOCPROPERTY "Test" \* MERGEFORMAT }
Vous pouvez utiliser une macro pour faire en sorte que la propriété personnalisée est ajoutée aux documents:
Sub AutoNew()
Dim objCustomProperties As DocumentProperties
Set objCustomProperties = ActiveDocument.CustomDocumentProperties
objCustomProperties.Add Name:="Test", _
Type:=msoPropertyTypeString, Value:="Blah", _
LinkToContent:=False
End Sub
Informations complémentaires
automacros: http://msdn.microsoft.com/en-us/library/aa263747(office.10).aspx Présentation des propriétés de document personnalisées dans Microsoft Office Word 2003:
- 1. Comment ajouter à un document Word avec des macros VBA
- 2. Division de documents Word avec VBA
- 3. Comment utiliser COM dans VBA pour Word?
- 4. Comment extraire des données du service Web dans VBA-Word?
- 5. Word vba - Appuyez sur l'onglet pour aller au signet?
- 6. Utilisation de VBA pour Word, comment créer une plage de cellules de tableau?
- 7. Dans Word, comment puis-je modifier les données de fusion et publipostage par programme avec VBA?
- 8. Boîte de dialogue VBA Word 2003
- 9. macro Word, le stockage de la sélection en cours (VBA)
- 10. Comment comparer des champs avec le type de données 'Memo' dans vba?
- 11. Comment analyser des documents Word avec ruby?
- 12. Word VBA ne peut pas quitter l'erreur de mode Création (Word 2003)
- 13. Comment créer des champs définis par l'utilisateur dans Django
- 14. Comment supprimer des champs avec Activewarehouse-etl?
- 15. Comment créer un polygone en utilisant des champs dans PostgreSQL?
- 16. Créer un paragraphe de texte en lecture seule à l'aide de VBA (Microsoft Word 2003)
- 17. Caractère de saut de section VBA Word dans
- 18. Lecture de l'historique des annulations dans VBA
- 19. Ouverture/activation de documents Word dans une macro VBA
- 20. Word VBA accéder au contenu du dictionnaire personnalisé
- 21. Créer une liste et des champs SharePoint dans une entité
- 22. Excel VBA ou VSTO - Comment boucler des champs sur un tableau croisé dynamique?
- 23. Mise à jour de modèle Word avec des signets
- 24. Créer un fichier Word/RTF avec une table des matières à partir de Java
- 25. Comment puis-je créer un document Word en utilisant Python?
- 26. Copier des wingdings (etc.) à partir de documents Word vers des champs de texte html
- 27. Comment pouvons-nous utiliser MSHTML avec VBA?
- 28. Spécification de l'emplacement de la nouvelle forme en ligne dans Word VBA?
- 29. Ouverture de plusieurs copies du document de modèle Word à l'aide de VBA pour les applications
- 30. Comment créer des méthodes liées avec type()?