Andy fragt sich, ob es eine Möglichkeit gibt, die Einstellungen in einer Vorlage (Ränder, Schriftarten, Tabulatoren usw.) aufzulisten. Er hat viele Informationen über das Zurücksetzen auf die Standardeinstellungen gesehen, aber nichts, was ihm sagen würde, wie die Einstellungen tatsächlich sind. Er stellt fest, dass das Öffnen einer Vorlage und das Betrachten der verschiedenen Elemente umständlich und weniger umfassend ist.

Leider gibt es in Word keine einfache Möglichkeit, dies zu tun. Der Hauptgrund liegt darin, dass es keine vollständige Liste der in Vorlagen gespeicherten Einstellungen gibt und die bloße Anzahl solcher Einstellungen ziemlich entmutigend sein kann.

Das Beste, was Sie tun können, ist, ein Makro zu erstellen, das die Einstellungen überprüft, an denen Sie interessiert sind, und diese dann anzuzeigen.

Betrachten Sie als Beispiel die folgende Makrosuite:

Sub TemplateSettings()

Dim templatePath As String     Dim fleName As String     Dim str As String     Dim sTemp As String

' Select the template to be opened     templatePath = Application.Templates(1).Path     fleName = GetTemplateName(templatePath)

If fleName = "" Then         MsgBox "No template selected"

Exit Sub     End If

Application.Documents.Open (fleName)



str = ActiveDocument.Name & vbCr & vbCr

sTemp = "Other"

Select Case ActiveDocument.Sections(1).PageSetup.PaperSize         Case wdPaperLetter             sTemp = "Letter"

Case wdPaperLegal             sTemp = "Legal"

Case wdPaperA4             sTemp = "A4"

End Select     str = str & "Paper size: " & sTemp

sTemp = "Landscape"

If ActiveDocument.Sections(1).PageSetup.Orientation = wdOrientPortrait Then         sTemp = "Portrait"

End If     str = str & "  Orientation: " & sTemp & vbCr

str = str & "Margins " & marginsStr & vbCr     str = str & vbCr & "User Defined Tab stops " & UserTabStops & vbCr     str = str & vbCr & "User defined styles " & userStyles

Application.Documents(fleName).Close SaveChanges:=wdDoNotSaveChanges

MsgBox str End Sub
Function GetTemplateName(templatePath As String) As String     Dim dlg As FileDialog     Set dlg = Application.FileDialog( _       FileDialogType:=msoFileDialogFilePicker)

With dlg         .AllowMultiSelect = False         .InitialFileName = templatePath         .Filters.Clear         .Filters.Add "Templates", "*.dot"

.Filters.Add "All files", "."

.FilterIndex = 1         .Show         If .SelectedItems.Count > 0 Then             GetTemplateName = .SelectedItems(1)

Else             GetTemplateName = ""

End If     End With     Set dlg = Nothing End Function
Function userStyles() As String     Dim sty As Style     Dim s As String

s = ""

For Each sty In ActiveDocument.Styles         If Not sty.BuiltIn Then             s = vbCr & sty.NameLocal & "  " & sty.Description         End If     Next sty     userStyles = s End Function
Function UserTabStops() As String     Dim s As String     Dim tbStop As TabStop     Dim alg

alg = Array("Left", "Center", "Right", "Decimal", "Bar", "?", "List")

s = ""

For Each tbStop In ActiveDocument.Paragraphs(1).TabStops         s = s & vbCr & ptConvert(tbStop.Position) & _           " Alignment: " & alg(tbStop.Alignment)

Next tbStop     UserTabStops = s End Function
Function marginsStr() As String     With ActiveDocument         marginsStr = _           "Left: " & ptConvert(.PageSetup.LeftMargin) & _           ", Right: " & ptConvert(.PageSetup.RightMargin) & _           ", Top: " & ptConvert(.PageSetup.TopMargin) & _           ", Bottom: " & ptConvert(.PageSetup.BottomMargin)

End With End Function
Function ptConvert(p As Single) As String     ptConvert = Format(PointsToInches(p), "###.##")

' use the following line if you want dimensions in centimeters     'ptConvert = Format(PointsToCentimeters(p), "###.##")

End Function

Das Hauptmakro, mit dem Sie beginnen, ist TemplateSettings. Dieses Makro ruft wiederum die anderen Funktionen in der Liste auf. Es werden einige der gängigsten Einstellungen in einer Vorlage erfasst (Sie können die Vorlage natürlich angeben) und diese Einstellungen dann in einem Meldungsfeld angezeigt.

Insbesondere werden der Name der Vorlage, das Papierformat, die Seitenausrichtung, die Ränder, Tabulatoren (nur für den ersten Absatz in der Vorlage) und benutzerdefinierte Stile angezeigt.

Es gibt offensichtlich viele, viele andere Einstellungen, die extrahiert und angezeigt werden könnten. Beispielsweise möchten Sie möglicherweise wissen, welche Merkmale die einzelnen Stile aufweisen, und nicht nur eine Liste benutzerdefinierter Stilnamen. Oder Sie möchten wissen, wie sich die Formatierung für integrierte Stile von der Standardformatierung unterscheidet. Allein diese Optionen würden dem Makro eine enorme Komplexität verleihen.

(Beachten Sie, dass jeder Stil Dutzende verschiedener Formatierungseinstellungen haben kann und die „Standardformatierung“ für integrierte Stile durch die in der Vorlage „Normal“ gespeicherten Elemente definiert wird.) Um solche Ergänzungen aufzunehmen, müssen Sie nur das Makro ändern um die gewünschten Informationen zusammenzustellen.

Beachten Sie auch, dass die hier vorgestellte Makrosuite trotz ihrer Länge einfach gestaltet ist. Es werden lediglich alle extrahierten Einstellungen in eine Zeichenfolge eingefügt und diese Zeichenfolge dann in einem Meldungsfeld angezeigt. Wenn die Vorlage, die Sie betrachten, viele, viele benutzerdefinierte Stile hat, kann die Zeichenfolge sehr lang werden. Wenn es länger als 1.024 Zeichen ist, wird eine Fehlermeldung angezeigt, da die MsgBox-Funktion nur eine Zeichenfolge bis zu dieser Länge anzeigen kann. Wenn Sie damit rechnen, dass Ihre Zeichenfolge länger sein wird, möchten Sie sie in „Blöcken“ in mehreren Meldungsfeldern anzeigen oder die Zeichenfolge einfach in eine Textdatei schreiben, die Sie später untersuchen können.

_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 (10117) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: