Writer, Seitenumbruch vor Tabelle läßt sich nicht per Makro löschen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Writer, Seitenumbruch vor Tabelle läßt sich nicht per Makro löschen

Beitrag von F3K Total »

Hallo zusammen,
seid zwei Tagen versuche ich folgendes Problem zu lösen:
Per Makro erstelle ich aus einer Datenbank einen Bericht. Dabei verwende ich den Oracle-Report-Builder. Das Ausgabedokument ist ein Writer File.
Um das Dokument besser formatieren zu können, teile ich, wieder per Makro, den Detailbereich, der sich in der ursprünglichen Tabelle Detail0 befindet, in Tabellen mit jeweils 8 Zeilen auf.
Dabei passiert etwas komisches, vor jeder Tabelle wird ein Seitenumbruch erzeugt.
Anbei zwei Beispieldokumente.
Zunächst das Verhalten der unveränderten Datei
Beispiel_Texttables_original.odt
(13.24 KiB) 92-mal heruntergeladen
Die vier Tabellen Detail0, Tabelle1, Tabelle2 und Tabelle3 sind die, um die es geht.
Analysiere ich die Tabellen mit Xray finde ich den Seitenumbruch in der Tabelleneigenschaft

Code: Alles auswählen

.BreakType = 0 'com.sun.star.style.BreakType.NONE
Stelle ich den Seitenumbruch z.B. auf

Code: Alles auswählen

.BreakType = 6 'com.sun.star.style.BreakType.PAGE_BOTH
um, ändert sich das Dokument und die Tabellen werden, wie erwartet, von Leerseiten umgeben.
Setze ich den Breaktype wieder auf 0 oder com.sun.star.style.BreakType.NONE, um eben den Seitenumbruch zu entfernen, bleibt er trotzdem bestehen.
Jetzt kommt das komische:
Wenn ich den Seitenumbruch einmalig händisch über die Tabelleneigenschaften/Reiter Textfluss entferne, funktioniert alles genau so wie es soll.
Beispiel_Texttables_händisch_modifiziert.odt
(13.13 KiB) 92-mal heruntergeladen
Eine Änderung des Umbruchtypes auf 4 und dann wieder auf 0 per Makro, zeigt genau das gewünschte Ergebniss, alle 4 Tabellen erscheinen erst auf je einer eigenen Seite, danach alle auf Seite 1.
Hat da jemand eine Idee, woran es liegen könnte, das sich der Seitenumbruch nur dann per Makro entfernen läßt, wenn er vorher einmalig im Dialog der Tabelleneigenschaften entfernt wurde?
Oder steckt da vielleicht noch eine weitere Eigenschaft im .Text?

Gruß Rik
Zuletzt geändert von F3K Total am Sa, 02.01.2016 00:52, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Writer, Seitenumbruch vor Tabelle läßt sich nicht per Makro löschen

Beitrag von F3K Total »

Hallo,
wieso ich es vorher nicht hinbekommen habe, kann ich nicht sagen, es ist ganz einfach.
Die Tabelleneigenschaft

Code: Alles auswählen

.PageDescName = ""
muß mit einem leeren String gefüllt werden.
Gruß R
Antworten