Mit Word können Sie die Schriftarten verwenden, die auf dem von Ihnen verwendeten System installiert sind. Schriftarten werden in Windows installiert, sodass sie nicht nur für Word, sondern für alle auf Ihrem System installierten Programme verfügbar sind.

Wenn Sie ein Dokument auf Ihrem System erstellen, ist es leicht zu erkennen, welche Schriftarten verwendet werden. Die Liste der Schriftarten ist auf die auf dem System verfügbaren beschränkt. Wenn Sie jedoch ein Dokument von einer anderen Person erhalten, sind auf dem System der anderen Person möglicherweise andere Schriftarten installiert als Sie. Dies bedeutet, dass das Word-Dokument mit Schriftarten formatiert werden kann, die Sie noch nicht einmal auf Ihrem System haben.

Wenn Sie eine Liste der in einem Dokument verwendeten Schriftarten erstellen möchten (im Gegensatz zu einer Liste der auf einem System verfügbaren Schriftarten), haben Sie mehrere Möglichkeiten. Zunächst können Sie das Word-Dokument in einem Texteditor öffnen und sich in den Teilen des Dokuments umsehen, die Sie normalerweise in Word nicht sehen. Gegen Ende der Datei sollte eine Liste der im Dokument verwendeten Schriftarten angezeigt werden. Wenn Sie dies tun, sollten Sie jedoch sehr vorsichtig sein, um keine Änderungen am Word-Dokument vorzunehmen, während es in Ihrem Texteditor geöffnet ist. Dadurch kann das Dokument leicht in Word nicht mehr verwendet werden.

Eine wortbasierte Lösung besteht darin, einfach jedes Zeichen in einem Dokument zu durchsuchen und herauszufinden, welche Schriftart zum Formatieren des Zeichens verwendet wird. Ein zeichenweiser Ansatz ist erforderlich, da jedes Zeichen mit einer anderen Schriftart formatiert werden kann und Sie mit VBA nicht auf eine Schriftsammlung in Bezug auf das Dokument selbst zugreifen können. Es scheint, dass keine solche Sammlung beibehalten wird. Somit ist der sicherste (und langsamste)

Methode ist einfach durch jedes Zeichen zu gehen und Ihre eigene Liste zu erstellen. Das folgende VBA-Makro führt die Aufgabe aus:

Public Sub ListFontsInDoc()

Dim FontList(199) As String     Dim FontCount As Integer     Dim FontName As String     Dim J As Integer, K As Integer, L As Integer     Dim X As Long, Y As Long     Dim FoundFont As Boolean     Dim rngChar As Range     Dim strFontList As String

FontCount = 0     X = ActiveDocument.Characters.Count     Y = 0     ' For-Next loop through every character     For Each rngChar In ActiveDocument.Characters         Y = Y + 1         FontName = rngChar.Font.Name         StatusBar = Y & ":" & X         ' check if font used for this char already in list         FoundFont = False         For J = 1 To FontCount            If FontList(J) = FontName Then FoundFont = True         Next J         If Not FoundFont Then             FontCount = FontCount + 1             FontList(FontCount) = FontName         End If     Next rngChar

' sort the list     StatusBar = "Sorting Font List"

For J = 1 To FontCount - 1         L = J         For K = J + 1 To FontCount             If FontList(L) > FontList(K) Then L = K         Next K         If J <> L Then             FontName = FontList(J)

FontList(J) = FontList(L)

FontList(L) = FontName         End If     Next J

StatusBar = ""

' put in new document     Documents.Add     Selection.TypeText Text:="There are " & _       FontCount & " fonts used in the document, as follows:"

Selection.TypeParagraph     Selection.TypeParagraph     For J = 1 To FontCount         Selection.TypeText Text:=FontList(J)

Selection.TypeParagraph     Next J End Sub

Je länger Ihr Dokument ist, desto länger dauert es natürlich, bis das Makro fertig ist. (Ich habe das Makro für ein Dokument mit 1.100 Seiten ausgeführt und es dauerte ungefähr 46 Minuten. Bei einem Dokument mit 5 Seiten dauerte es weniger als eine Minute.) Wenn Sie fertig sind, erstellt das Makro ein neues Dokument, das eine sortierte Liste der verwendeten Schriftarten enthält.

_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 beliebteste Textverarbeitungssoftware der Welt.) Dieser Tipp (13313) gilt für Microsoft Word 2007, 2010 und 2013.

Eine Version dieses Tipps für die ältere Menüoberfläche von Word finden Sie hier: