Utilisation d’une partie du nom de fichier d’un document dans un en-tête (Microsoft Word)
Vladimir sait qu’il peut mettre le nom de fichier d’un document dans l’en-tête d’une page. Ce qu’il aimerait, cependant, c’est que seuls les cinq derniers caractères du nom de fichier (à l’exclusion de l’extension du nom de fichier) apparaissent dans l’en-tête. Il cherche la meilleure façon d’accomplir la tâche.
La seule façon de procéder consiste à utiliser une macro; il n’existe aucune fonctionnalité intégrée dans Word pour accomplir la tâche. La macro doit déterminer le nom de fichier, saisir les caractères souhaités, puis les insérer dans l’en-tête. Il y a des complications potentielles avec quelque chose qui peut sembler si simple, cependant. Par exemple, que faire si le document n’a pas été enregistré et n’a donc pas encore de nom de fichier? Que faire si le document a été enregistré, mais qu’il y a moins de cinq caractères dans le nom de fichier?
Que doit faire la macro s’il y a déjà quelque chose dans l’en-tête?
Que doit-il faire si l’utilisateur regarde le document dans une vue qui n’affiche pas les en-têtes?
Pour traiter de telles questions, la macro doit faire certaines hypothèses.
Pour cet exemple, nous supposerons que la macro doit simplement remplacer l’en-tête existant par la partie souhaitée du nom de fichier. En outre, la macro peut basculer le mode d’affichage en mode Mise en page afin que l’en-tête soit facile à utiliser. Voici le résultat:
Sub PartFilenameInHeader() Dim sName As String Dim J As Long sName = ActiveDocument.Name J = InStrRev(sName, ".") If J > 0 Then sName = Left(sName, J - 1) If Len(sName) > 5 Then sName = Right(sName, 5) End If If ActiveWindow.View.SplitSpecial <> wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _ ActivePane.View.Type = wdOutlineView Then ActiveWindow.ActivePane.View.Type = wdPrintView End If ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader Selection.WholeStory Selection.Delete Selection.TypeText Text:=sName ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument Else MsgBox "Document has no filename extension." End If End Sub
La macro vérifie d’abord que le document a un vrai nom de fichier (à partir de la propriété .Name de l’objet ActiveDocument). Si tel est le cas, il extrait cinq (ou moins) caractères du nom de fichier. Il vérifie qu’il n’y a pas plusieurs volets ouverts et que le document est en mode Mise en page. Il sélectionne ensuite tout ce qui se trouve actuellement dans l’en-tête et le remplace par les caractères souhaités du nom de fichier.
Comprenez que la macro doit être exécutée une fois après l’enregistrement du document et une fois de plus si vous enregistrez le document sous un nom de fichier différent.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
WordTips est votre source pour une formation Microsoft Word rentable.
(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (13316) s’applique à Microsoft Word 2007, 2010, 2013, 2016, 2019 et Word dans Office 365.