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ô.