Vladimir weiß, dass er den Dateinamen eines Dokuments in die Kopfzeile einer Seite einfügen kann. Was er jedoch möchte, ist, dass nur die letzten fünf Zeichen des Dateinamens (ohne die Dateinamenerweiterung) in der Kopfzeile erscheinen. Er sucht nach dem besten Weg, um die Aufgabe zu erfüllen.

Die einzige Möglichkeit, dies zu tun, ist die Verwendung eines Makros. In Word gibt es keine integrierte Funktionalität, um die Aufgabe auszuführen. Das Makro muss den Dateinamen ermitteln, die gewünschten Zeichen erfassen und dann in die Kopfzeile einfügen. Es gibt jedoch mögliche Komplikationen mit etwas, das so einfach erscheinen könnte. Was ist zum Beispiel, wenn das Dokument nicht gespeichert wurde und daher noch keinen Dateinamen hat? Was passiert, wenn das Dokument gespeichert wurde, der Dateiname jedoch weniger als fünf Zeichen enthält?

Was soll das Makro tun, wenn sich bereits etwas in der Kopfzeile befindet?

Was ist zu tun, wenn der Benutzer das Dokument in einer Ansicht betrachtet, in der keine Überschriften angezeigt werden?

Um solche Fragen zu beantworten, muss das Makro einige Annahmen treffen.

In diesem Beispiel wird davon ausgegangen, dass das Makro einfach den vorhandenen Header durch den gewünschten Teil des Dateinamens ersetzen soll. Außerdem kann das Makro den Anzeigemodus in die Drucklayoutansicht umschalten, sodass die Kopfzeile einfach zu bearbeiten ist. Hier ist das Ergebnis:

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

Das Makro überprüft zunächst, ob das Dokument einen echten Dateinamen hat (aus der .Name-Eigenschaft des ActiveDocument-Objekts). Wenn ja, werden fünf (oder weniger) Zeichen aus dem Dateinamen gezogen. Es wird überprüft, ob nicht mehrere Fenster geöffnet sind und ob sich das Dokument in der Ansicht Drucklayout befindet. Anschließend wird ausgewählt, was sich derzeit in der Kopfzeile befindet, und durch die gewünschten Zeichen aus dem Dateinamen ersetzt.

Beachten Sie, dass das Makro nach dem Speichern des Dokuments einmal und erneut ausgeführt werden sollte, wenn Sie das Dokument jemals unter einem anderen Dateinamen speichern.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (13316) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365.