von F3K Total » So, 10.04.2022 07:11
Guten Morgen Toxitom,
da hast du natürlich Recht, den Nummerkreis wollte ich nicht zerstören.
Allerdings sehe ich das Problem des Automatismus nicht, mein Makro durchläuft alle Überschriften und setzt sie, je nachdem ob sich der entsprechende Absatz auf einer geraden oder auf einer ungeraden Seite befindet, auf die richtige Seite. Oder anders, einmal nach dem Einfügen neuen Textes ausgeführt, werden alle Überschriften neu und richtig ausgerichtet.
Habe es gerade an einer Datei mit 260 Seiten ausprobiert, dauert bei mir eine Sekunde.
Hier nun das Makro mit den hart formatierten Absätzen, die Original Formatvorlage "Überschrift" heißt im Code "Heading".
Code: Alles auswählen
Sub Set_right_Headings
oVC = ThisComponent.CurrentController.ViewCursor
oTE = thisComponent.Text.createEnumeration
while oTE.hasmoreelements
oT = oTE.nextElement
if oT.ParaStyleName = "Heading" Then
oVC.GotoRange(oT.Anchor, false)
if oVC.Page MOD 2 = 0 Then' hier werden alle geraden Seitenzahlen ermittelt
oT.Anchor.ParaAdjust = com.sun.star.style.ParagraphAdjust.RIGHT
else
oT.Anchor.ParaAdjust = com.sun.star.style.ParagraphAdjust.LEFT
endif
endif
wend
End Sub
Gruß R
Guten Morgen Toxitom,
da hast du natürlich Recht, den Nummerkreis wollte ich nicht zerstören.
Allerdings sehe ich das Problem des Automatismus nicht, mein Makro durchläuft alle Überschriften und setzt sie, je nachdem ob sich der entsprechende Absatz auf einer geraden oder auf einer ungeraden Seite befindet, auf die richtige Seite. Oder anders, einmal nach dem Einfügen neuen Textes ausgeführt, werden alle Überschriften neu und richtig ausgerichtet.
Habe es gerade an einer Datei mit 260 Seiten ausprobiert, dauert bei mir eine Sekunde.
Hier nun das Makro mit den hart formatierten Absätzen, die Original Formatvorlage "Überschrift" heißt im Code "Heading".
[code]Sub Set_right_Headings
oVC = ThisComponent.CurrentController.ViewCursor
oTE = thisComponent.Text.createEnumeration
while oTE.hasmoreelements
oT = oTE.nextElement
if oT.ParaStyleName = "Heading" Then
oVC.GotoRange(oT.Anchor, false)
if oVC.Page MOD 2 = 0 Then' hier werden alle geraden Seitenzahlen ermittelt
oT.Anchor.ParaAdjust = com.sun.star.style.ParagraphAdjust.RIGHT
else
oT.Anchor.ParaAdjust = com.sun.star.style.ParagraphAdjust.LEFT
endif
endif
wend
End Sub[/code]
Gruß R