Vladimir sa che può inserire il nome del file di un documento nell’intestazione di una pagina. Quello che vorrebbe, però, è che solo gli ultimi cinque caratteri del nome del file (esclusa l’estensione del nome del file) appaiano nell’intestazione. Sta cercando il modo migliore per portare a termine il compito.

L’unico modo per farlo è usare una macro; non è presente alcuna funzionalità incorporata in Word per eseguire l’attività. La macro deve determinare il nome del file, afferrare i caratteri desiderati e quindi inserire nell’intestazione. Tuttavia, ci sono potenziali complicazioni con qualcosa che potrebbe sembrare così semplice. Ad esempio, cosa succede se il documento non è stato salvato e quindi non ha ancora un nome file? Cosa succede se il documento è stato salvato, ma ci sono meno di cinque caratteri nel nome del file?

Cosa dovrebbe fare la macro se c’è già qualcosa nell’intestazione?

Cosa dovrebbe fare se l’utente guarda il documento in una vista che non mostra le intestazioni?

Per affrontare tali domande, la macro deve fare alcune ipotesi.

Per questo esempio, supponiamo che la macro debba semplicemente sostituire qualsiasi intestazione esistente con la parte desiderata del nome del file. Inoltre, la macro può cambiare la modalità di visualizzazione alla visualizzazione Layout di stampa in modo che sia facile lavorare con l’intestazione. Ecco il risultato:

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 verifica innanzitutto che il documento abbia un nome file reale (dalla proprietà .Name dell’oggetto ActiveDocument). In tal caso, estrae cinque (o meno) caratteri dal nome del file. Verifica che non siano aperti più riquadri e che il documento sia in visualizzazione Layout di stampa. Quindi seleziona ciò che è attualmente nell’intestazione e lo sostituisce con i caratteri desiderati dal nome del file.

Comprendi che la macro dovrebbe essere eseguita una volta dopo aver salvato il documento e ancora una volta se salvi il documento utilizzando un nome file diverso.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (13316) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365.