BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Neue Seite mit Tabelle

Alles zur Programmierung im LibreOffice.
Antworten
Benutzeravatar
HeiDieLX2
! Supporter - Spende !
Beiträge: 27
Registriert: Mo 9. Sep 2019, 12:50

[gelöst] Neue Seite mit Tabelle

Beitrag von HeiDieLX2 » Mi 23. Jun 2021, 13:40

Hallo liebe Mitstreiter: Innen,
auf Hilfe hoffe ich bei einer Makroprogrammierung bei der ich seit Tagen in einer Sackgasse festsitze.

Um was geht es: Ich öffne aus einer Base-Anwendung eine ott-Datei welche mehrere Seiten mit Text-Tabellen enthält. Für jeden Bereich eine Seite. Nun fülle ich aus einer PostgrSQL-Tabelle die Informationen jeweils in die vorhanden Text-Tabellen.
Dies funktioniert auch sehr gut. Sind jedoch in der PSQL-Tabelle mehr Sätze enthalten als Platz in meiner Text-Tabelle in Writer beginnt mein Problem.
Wie stelle ich es also am geschicktesten an, in diesem Fall ein weiteres Blatt mit entsprechender Tabelle bereitzustellen.
Dabei ist mein Problem meine nur begrenzte Kenntnis der Interna des Writer-Dokuments.
Stichworte: Positionierung, Einfügepunkt, Tabellen Format, Tabellen Name etc.

Eine neue Seite einzufügen in der Test-Writer-Datei ist zwar kein Problem, wenn ich das ganze jedoch von Base aus ansteuere ist das Ergebnis weniger als mittelprächtig.

Ich würde gerne eine SUB haben die das erledigt und mit passenden Parametern wenn nötig aufgerufen wird. Weil im Falle des Überlaufs das auf den weiteren Seiten ebenfalls zu erwarten ist.
Zuletzt geändert von HeiDieLX2 am Do 1. Jul 2021, 15:23, insgesamt 1-mal geändert.
MfG
HeiDieLx vom Bienwald

Tumbleweed
postgreSQL 15
LibreOffice 7.6.1.1

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Neue Seite mit Tabelle

Beitrag von gogo » Do 24. Jun 2021, 10:59

Wie kommt die Info bezüglich der Zeilenzahl in das Writer-Dokument?
In der BaseReportExtension wird die Zeilenzahl der Daten (nZeilen) ermittelt und dann mittels: .getRows().insertByIndex() die entsprechende Zeilenzahl angefügt ("nZeilen-1" weil die erste Zeile der Tabelle im ott-Dokument schon vorhanden ist)

Zitat aus dem Code der BaseReportExtension:

Code: Alles auswählen

 Modul: BRX_MAIN
 Zeile 322:
	myTable.getRows().insertByIndex(iStartAtRow, nZeilen-1)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Benutzeravatar
HeiDieLX2
! Supporter - Spende !
Beiträge: 27
Registriert: Mo 9. Sep 2019, 12:50

Re: Neue Seite mit Tabelle

Beitrag von HeiDieLX2 » Mo 28. Jun 2021, 14:16

Hallo,
ich versuche es nochmal mit mehr infos.
Zunächst bin ich noch in der Probier- bzw. Testphase.

Alles spielt sich im HC_AngSaniBase_3.odt ab.
Da drin gibt es Makros
sub InsertNeueSeite: Fügt eine neue Seite mit Überschrift, Untertitel und Blattzahl ein. Der Cursor steht unter der ersten Tabelle bei Ausführung.
Sub InsertFormatTable: erstellt eine neue Tabelle auf der oben eingefügten Seite, landet dann jedoch auf dieser Fehlermeldung:
siehe Bild im Anhang

Für mich ergeben sich bislang noch einige Probleme:
- Format der Tabelle d. h. Anpassen der Spaltenbreite, Ausblenden der Umrandungen, Schriftart in der Tabelle anpassen, Innenabstand 0,10 cm.
- im Zuge der Bearbeitung aus Base: ?? keine Ahnung wie da die Positionierung im odt/ott abläuft.

Ich habe in Teilen Thomas Krumbeins Makro Grundlagen als auch Andrew Pitonyak BASIC-Makros für OpenOffice und LibreOffice gelesen.
Dateianhänge
HC_AngSaniBase_3.odt
(22.34 KiB) 101-mal heruntergeladen
FehlerTabelleFormat.png
FehlerTabelleFormat.png (9.18 KiB) 1725 mal betrachtet
MfG
HeiDieLx vom Bienwald

Tumbleweed
postgreSQL 15
LibreOffice 7.6.1.1

Benutzeravatar
HeiDieLX2
! Supporter - Spende !
Beiträge: 27
Registriert: Mo 9. Sep 2019, 12:50

Re: [gelöst] Neue Seite mit Tabelle

Beitrag von HeiDieLX2 » Do 1. Jul 2021, 15:29

Hallo,
zumindest das Problem mit der o. g. Fehlermeldung ist gelöst.
An den anderen Punkten arbeite ich noch.

oTable.TableColumnSeparators liefert ein Array zurück. Dies beißt sich natürlich mit meiner Initialisierung
DIM oTableTrenner as Object - richtig wäre
DIM oTableTrenner() was jedoch wegen dem ersten Buchstaben in die Irre führt, also ganz richtig ist somit
DIM aTableTrenner()

HTH
MfG
HeiDieLx vom Bienwald

Tumbleweed
postgreSQL 15
LibreOffice 7.6.1.1

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten