Travailler dans Office 2007, j'aimerais ajouter un champ de nom de fichier dans mon en-tête de document. Le document sera plus tard un PDF, donc je ne veux pas l'extension. P>
J'ai joué avec insert -> QuickParts -> Champ, en vain. J'ai un impétueux sentiment qu'il nécessite une formule ... p>
Merci d'avance si vous pouvez aider. P>
8 Réponses :
Votre sentiment est tout à fait correct.
Une macro très simple serait les suivantes: p> Qu'est-ce que c'est simplement bande les 4 derniers caractères de la "chaîne de nom de fichier", par exemple ".doc" - si vous êtes en sécurité ".docx" le "." serait préservé. De plus, cette macro fonctionnerait une fois et vous auriez besoin de le réutiliser à nouveau lorsque le nom de fichier change. P> Peut-être que vous pourriez peut-être expliquer plus de ce que vous voulez atteindre avec le nom de fichier dans l'en-tête de document? Essayez-vous d'utiliser le nom de fichier dans l'en-tête du document pour définir une propriété PDF lors de la conversion? Pourquoi ne pas utiliser le titre du document? Avez-vous besoin du nom de fichier d'origine dans le PDF ultérieurement - pourquoi? P> Deux autres pages pour vous aider avec votre problème (à la fois sur les macros ...): P> insert> QuickParts> Champ> Le nom de fichier code> est le moyen d'aller, mais comme vous le voyez de la capture d'écran ci-dessous, vous n'avez pas la possibilité de transformer le Extension de fichier sur ou éteint.
Pour montrer ou ne pas montrer (style shakespearien), l'extension est purement au réglage de l'explorateur Windows pour afficher ou masquer les extensions de fichiers connues. Donc, soit vous changez que vous modifiez ce paramètre ou que vous avez besoin d'un code. P>
Remarque: cela ne se met pas à jour automatiquement ... Vous devez remédier à la macro pour mettre à jour le champ.
Ajouter [titre] em> au lieu de nom de fichier em> et peut-être ajouter certaines des autres propriétés de document forts> énumérées p>
En effet, il n'y a pas d'option "BaseName uniquement" pour le champ de nom de fichier. P>
Pour le long terme, j'ai fait une demande de fonctionnalité avec Microsoft à l'adresse suivante: https : //office365.uservoice.com/forums/264636-général/suggesions/13860672-for-Word-Create-A-Basename-on-field-Option-for P>
Je vous invite et d'autres personnes visitant ce message, à la suite de la suggestion. P>
Écrire une macro, comme @dennisg l'a suggéré, c'est probablement le travail le plus pratique autour de. P>
Mais vous pouvez éviter d'associer n'importe quelle macro avec votre document Word pour éviter les problèmes de sécurité (par exemple, si vous distribuez votre document). Donc, une autre solution de contournement est de créer une propriété personnalisée Créez la propriété personnalisée FileBasename et attribuez-la votre valeur: p>
Insérez la propriété de document personnalisée, Vous devriez maintenant avoir "myTEMPort" inséré sous forme de champ dans votre document. p>
LIMITATIONS: P>
filebasename code> avec une valeur codée dur "mydocumentbasename": p>
FileBasename code>, dans votre document: p>
FileBasename code>. Au lieu de cela, vous devrez modifier manuellement la propriété
FileBasename code> à partir de propriétés avancées ... (comme ci-dessus). Li>
Insérez le champ Nom du fichier comme indiqué dans le diagramme ci-dessus et enregistrez-le sous le nom de fichier. Affichage en mode de prévisualisation d'impression et retournez en mode édition: le nom de fichier doit maintenant s'afficher au lieu de document n em> p> p>
Une fois que vous avez le nom de fichier, vous pouvez formater différentes pièces avec différentes couleurs: modifiez donc la couleur de la couleur de l'arrière-plan du document (Blanc probablement). P>
Je l'ai fait dans un pied de page de sorte que la version PDF n'a pas montré '.docx'. P>
Cela a fonctionné pour moi. Je l'ai défini pour préserver le formatage pendant les mises à jour et même avec un nom de changement de nom de ".docx" est resté caché.
Il suffit de masquer les extensions de noms de fichier dans l'Explorateur Windows. Après cela, rouvrez le document. Puis exportez-le. Le nom n'aura pas l'extension. :) p>
Pour que le nom du document soit mis à jour automatiquement dans les champs, vous devez ajouter un peu plus de code à votre macro. Cette macro vérifiera ce que le nom de fichier est chaque fois que vous ouvrez le fichier et mettra à jour tous les champs dans lesquels vous souhaitez que le nom de fichier soit vu. Après avoir créé cette macro, revenez simplement en arrière au document: p> Sélectionnez "Pièces rapides" dans l'onglet "Insérer", puis cliquez sur "Champ".
Dans les options de champ, sélectionnez DocVariable et saisissez FNAME dans les propriétés de champ, puis cliquez sur OK.
Il insérera ensuite votre nom de fichier, SANS Extension, dans votre doc, mettra à jour chaque fois que vous ouvrez le fichier et affiche le nouveau nom de fichier. P> p>
P> < / li>
P> li>
ul>
Si, et seulement si, le nom du fichier ne changera pas de longueur, vous pouvez modifier la police de l'extension pour être "cachée": p>
\ * mergeformat code> sur les codes de champ; quand il manque, l'effet de police caché suivant disparaîtra chaque fois que la valeur du champ devient la valeur de champ. mis à jour); li>
- Sélectionnez l'extension de nom de fichier affiché (y compris le
. code>); li>
- manœuvre à home »police (flèche à gauche en coin) em>, cochez la case cachée em>; li>
ol>
J'utilise cette méthode pour les noms de fichiers tels que ceux suivants, où seul le code de révision peut changer: p>
-
id_rev_some_descriptive_name.doc? code>, où REV code> est juste une seule lettre comme A code>, B code>, C code>, etc. li>
ul>
J'ai utilisé la solution @ Rob conjointement avec votre suggestion pour préserver le formatage. L'extension de fichier est restée "cachée" même avec une modification de la longueur du nom du fichier.