Ich arbeite mit Winword 2000 und habe die dankbare Aufgabe, ein 400-Seiten-Dokument layouttechnisch zu überarbeiten. Dieses Dokument wurde zum großen Teil mit cut&paste zusammengebastelt, mit dem Erfolg, dass ca. 200 Formatverlagen verwendet werden.
Um mir einen Überblick zu verschaffen, möchte ich gerne eine Liste aller Formatvorlagen dieses Dokuments mit deren Eigenschaften - am besten ausgedruckt…
Um mir einen Überblick zu verschaffen, möchte ich gerne eine
Liste aller Formatvorlagen dieses Dokuments mit deren
Eigenschaften - am besten ausgedruckt…
Geht das?
Kenne ich, das Problem. Kenne aber keine Lösung. Ich selbst würd mir deshalb ein Makro bauen, das mir die Vorlagen und ausgewählte Eigenschaften ausgibt. Das müßte gehen.
Ups, so einfach )
Na dann ist das ja wieder Megakompliziert hier: )
ich habe einfach mal probiert und meine Erwartung 1:1 bestätigt gefunden. Resultat ist ein kleines Makro, das Dir von den aktiven Formatvorlagen den Namen, den Zeichensatz, die Ausrichtung und (sofern vorhanden) die Tabulatoren nebst Aurichtung angibt. Einziger Haken : Viele Einstellungen werden mit Konstanten gemacht, die dann natürlich auch als solche (also als Zahlen) ausgegeben werden (z.B. bei der Ausrichtung, bei der „0“ gleich „links“ bedeutet). Außerdem werden alle Maße in Punkt angegeben. Das kann aber leicht mit PointsToCentimeters() behoben werden.
Um Dir anzugucken, was man alles einstellen und auslesen kann, gehe einfach auf Extras - Makro - Aufzeichnen… und lege dann mit Format - Formatvorlage… - Neu… eine neue Formatvorlage an. Das entstehende Makro guckst Du Dir dann an. Es ist ziemlich groß, aber wenn Du genau hinguckst, erkennst Du, wo Du Deine Daten herbekommst. So habe ich es auch gemacht. Aufgelistet ist aber nicht alles. Wenn Du noch mehr brauchst, nimm noch ein Makro auf, bei dem Du dann die neue Formatvorlage in entsprechender Weise änderst. Dann tauchen auch diese Einträge im Makro auf. Sollte immernoch was fehlen, mußt Du im Makro-Editor einfach mal ActiveDocument.Styles(1) eingeben und dann den Punkt. Durch das Menü, das dann erscheint, kannst Du Dich dann durchhangeln. Wenn nach einem Punkt nichts mehr kommt, dann gibt’s da auch nichts. Bei Aufzählungen (z.B. den Tabs oder auch den Styles selbst) muß man einen Index in Klammern mit eingeben, damit man weiterkommt (wie oben die „(1)“).
Sub Formatvorlagen\_Info()
Dim s As Integer
Dim t As Integer
With Selection
'Dies nur, damit die Darstellung vernünftig ist.
.ParagraphFormat.TabStops.Add \_
Position:=CentimetersToPoints(3), \_
Alignment:=wdAlignTabLeft, \_
Leader:=wdTabLeaderSpaces
.TypeText "--- Start ---"
.TypeParagraph
End With 'Selection
For s = 1 To ActiveDocument.Styles.Count
With ActiveDocument.Styles(s)
If .InUse Then
On Error Resume Next 'Wichtig, weil einigen Formatvorlagen bestimmte Eigenschaften fehlen.
' Deren Abruf würde dann zu einem Fehler führen.
Selection.Font.Bold = True 'Macht den Namen fett, ...
Selection.TypeText .NameLocal & vbCr
Selection.Font.Bold = False '... den Rest aber nicht.
Selection.TypeText "Font:" & vbTab & .Font.Name & vbCr
With .ParagraphFormat
Selection.TypeText "Ausrichtung:" & vbTab & .Alignment & vbCr
Selection.TypeText "Zeilenabstand:" & vbTab & .LineSpacingRule & vbCr
For t = 1 To .TabStops.Count
Selection.TypeText "Tab " & t & ":" & vbTab & PointsToCentimeters(.TabStops(t).Position) & \_
" (" & .TabStops(t).Alignment & ")" & vbCr
Next t
End With '.ParagraphFormat
Selection.TypeParagraph
On Error GoTo 0 'Fehlerbehandlung wieder einschalten (oder "Resume Next" ausschalten)
End If '.InUse
End With 'ActiveDocument.Styles(i)
Next s
End Sub 'Formatvorlagen\_Info