Schriftproben-Tabelle ausgeben

Ich habe vor Jahren aus der Zeitschrift WIN ein Makro für Word 6.0 abgeschrieben, das eine Tabelle mit Namen und Schriftproben aller in Word zur Verfügung stehenden Schriftarten anlegt. Dabei stehen in einer Spalte die Namen der Schriften und in der daneben liegenden Spalte ein Beispiel in der entsprechenden Schrift. Ein ähnliches Makro für Winword 97 konnte ich leider bisher nicht finden. Können Sie mir hier weiterhelfen?

CHIP hat das Makro für Sie umgeschrieben. Sie finden es auf der Heft-CD hCHIP-Code FONTVIEW. Laden Sie die Dokumentvorlage FONT97.DOT für Word 97 oder FONT2000.DOT für Word 2000. Wenn Sie auf Basis dieser Dokumentvorlagen ein neues Dokument anlegen und das Ausführen von Makros zulassen, startet Word ganz automatisch die VBA-Funktion »autoOpen()« aus der DOT-Vorlage – Sie müssen übrigens nur eine Funktion mit diesem Namen belegen, damit Word diese stets beim Öffnen eines Dokuments ausführt. Der Quellcode der Funktion »autoOpen()« ist in der Version für Word 2000 im Kasten abgedruckt. Nach einer kleinen Änderung lässt sich dieser Code auch für Word 97 nutzen. Sub autoOpen() Selection.Font.Name = „Arial“ Selection.Font.Size = 12 ‘ Tabelle erzeugen ActiveDocument.Tables.Add › Range:=Selection.Range, › NumRows:=1, NumColumns:=2, › DefaultTableBehavior:=› wdWord9TableBehavior, › AutoFitBehavior:=› wdAutoFitFixed ‘ Ueberschriften in der › Tabelle Selection.TypeText › Text:=“Name“ Selection.MoveRight› Unit:=wdCell Selection.TypeText › Text:=“Schriftprobe“ ‘ Schriftproben For Each aFont In FontNames Selection.MoveRight › Unit:=wdCell Selection.Font.Name = › „Arial“ Selection.TypeText › Text:=aFont Selection.MoveRight › Unit:=wdCell Selection.Font.Name = › aFont Selection.TypeText › Text:=“Dies ist eine › Schriftprobe“ Next aFont End Sub Und so funktioniert das Listing:Zuerst belegt die Funktion die Eigenschaften »Font.Name« und »Font.Size« des Objekts »Selection« mit einem Standardwert, um Schriftart und -größe zu bestimmen. »Selection« steht hierbei für den Einfügepunkt auf dem Dokument. Die Anweisung »ActiveDocument. Tables.Add« erzeugt dann eine Tabelle. Der Parameter »Range« definiert dabei den Bereich, in dem Word die Tabelle anzeigen soll. »NumRows« und »NumColumns« bestimmen die Anzahl der Zeilen und Spalten. In unserem Beispiel wird eine Tabelle mit einer Zeile und zwei Spalten erzeugt, da dem Programm zu diesem Zeitpunkt noch unbekannt ist, wie viele Zeilen es tatsächlich benötigt. Die letzten beiden Parameter sind nicht zwingend notwendig und erst seit Word 2000 verfügbar. Sie sollten die Parameter dennoch verwenden, da sie einen erheblichen Komfort bieten. »DefaultTableBehavior« erlaubt oder unterbindet das automatische Anpassen der Zellgröße an den jeweiligen Inhalt der Zellen, während »AutoFit-Behavior« die Regeln für diese Anpassung festlegt. Wenn Sie den VBA-Code für Winword 97 nutzen wollen, müssen Sie allerdings auf diese beiden Para-meter verzichten. Die Methode »TypeText« fügt Texte oder Inhalte von Variablen in ein Dokument ein. »MoveRight« verschiebt die Einfügemarke dann nach rechts, wobei Sie mit »Unit:=wdCell« angeben, dass Word jeweils zur nächs-ten Tabellenzelle springen soll. Falls keine weitere Zelle in dieser Tabelle existiert, erzeugt Word automatisch eine weitere. Zu guter Letzt lesen Sie in einer »For Each«-Schleife die Namen der verfügbaren Schriftarten aus der Liste »FontNames«. Innerhalb dieser Schleife geben Sie mit Hilfe der bereits erläuterten Methoden »Font.Name«, »TypeText« und »MoveRight« des Objekts »Selection« die Namen der verschiedenen Schriften aus und daneben jeweils eine Schriftprobe dazu. Als Text dient dabei der Satz „Dies ist eine Schriftprobe“.