Absatz formatieren

22/09/2008 - 12:00 von Peter Schuppen | Report spam
Hallo Helfer,



ein Dokument besteht aus mehreren Seiten.

Auf einer Seite sind alle Absàtze markiert.



In der folgenden Routine werden alle Absàtze der betreffenden Seite
formatiert:

Public Sub testSeitenausgleich()

For Each x In Selection.Paragraphs

If x.Format.Style = "Ausgleichzeile" Then

x.Format.SpaceBefore = 5 '(Punkte)

End If

Next x

End Sub



(Die Punkte werden vorher errechnet und sind für jede Seite unterschiedlich.

Die dauert recht lange. Unter Word 2007 noch lànger als unter Word 2003.



Gibt es eine elegantere (schnellere) Lösung ??



Danke und Gruß



Peter
 

Lesen sie die antworten

#1 Thomas Gahler
22/09/2008 - 13:10 | Warnen spam
Hallo Peter



If x.Format.Style = "Ausgleichzeile" Then
x.Format.SpaceBefore = 5 '(Punkte)

Gibt es eine elegantere (schnellere) Lösung ??


Na wenn du schon eine eigene Formatvorlage hast, weshalb wird nicht gleich
diese angepasst?


Falls jedoch unterschiedliche Punkte pro Seiten sind, dann geht das
natürlich nicht. Nehme mal an, dass du nicht alle Werte benötigts. Dann
könntest du noch mehrer Formatvorlagen erstellen (Ausgleichzeile2pt,
Ausgleichzeile4pt usw.) und diese mittels Suchen/Ersetzen àndern.





Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen