[makro] Writerformular: Daten in .txt oder csv speichern
Moderator: Moderatoren
[makro] Writerformular: Daten in .txt oder csv speichern
Hallo,
kann ich, und wenn ja wie, die Daten aus 4 Textboxen von einem Writerformular in einer Textdatei (oder CSV) speichern um sie später in einem anderen Formular (auch Writer) wieder einzulesen? Welche Filter muss ich bei Txt/CSV verwenden?
Das ganze soll ähnlich dem Datenexport in FDF bei PDF funktionieren. Form A wird mit Daten als odt gespeichert, gleichzeitig bestimmte Textfelder als Txt/CSV.
Form B holt sich (importiert) dann die Daten aus der Txt/CSV.
Über Beispiele, Links u.ä. wo so etwas schon realisiert wurde freut sich
opiWahn
kann ich, und wenn ja wie, die Daten aus 4 Textboxen von einem Writerformular in einer Textdatei (oder CSV) speichern um sie später in einem anderen Formular (auch Writer) wieder einzulesen? Welche Filter muss ich bei Txt/CSV verwenden?
Das ganze soll ähnlich dem Datenexport in FDF bei PDF funktionieren. Form A wird mit Daten als odt gespeichert, gleichzeitig bestimmte Textfelder als Txt/CSV.
Form B holt sich (importiert) dann die Daten aus der Txt/CSV.
Über Beispiele, Links u.ä. wo so etwas schon realisiert wurde freut sich
opiWahn
Grüße
opiWahn
opiWahn
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Hallo OpiWahn,
Was genau möchtest Du erreichen?
Der Weg, den Du beschreibst, hört sich "strange" an, es gibt bestimmt einen einfacheren Weg.
G R
Was genau möchtest Du erreichen?
Der Weg, den Du beschreibst, hört sich "strange" an, es gibt bestimmt einen einfacheren Weg.
G R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Das geht dann über WRITE brw. READ, siehe F1 Online Hilfe, OpenOffice.org BasicopiWahn hat geschrieben:Form B holt sich (importiert) dann die Daten aus der Txt/CSV.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Hallo F3K Total,
Nach wie vor habe ich das Problem, daß ich an das Hauptformular, welches u.a. durch DB-Daten gespeist wird, beliebig viele "externe" Blankoformulare anfügen muß.
Zum Zeitpunkt des Anfügens gibt es aber keine Verbindung mehr zur DB, d.h. die notwendigen Daten müssen aus dem Hauptformular gezogen werden.
Das Anfügen hab ich erst mal so gelöst:
Das ist wahrscheinlich nicht gerade der Königsweg, aber ich hatte keinen besseren Ansatz - und vom König bin ich eh noch weit entfernt.
Page wäre treffender
Was letztlich passieren soll, soll hier veranschaulicht sein: Als Ausweg erdachte ich mir, daß zusätzlich zum Speichern des ausgefüllten Hauptformulares unter gleichem Namen eine Txt- oder CSV-Datei abgespeichert wird, die die Werte von o_name, o_strasse und o_ort enthält. Jedes Formular, das ich dann anfüge soll dann diese Daten z.B. aus der Txt-Datei ziehen.
Vermutlich gibt es auch andere, praktikablere Ansätze, aber da bin ich noch nicht wirklich fündig geworden.
Darüber hinaus strotz diese "Projekt" vor Baustellen in Ermangelung von Programmiererfahrung wie man an meinen Threads aus den letzten Tagen ersehen kann.
Verweise wie
sind ja durchaus pädagogisch und langfristig das einzige was hilft, aber halt eben nur langfristig, wenn man sowieso beim Lernen und experimentieren ist und dazu kein Zeitdruck kommt.
Das soll jetzt nicht heißen, daß ich jemanden suche, der mir die Arbeit macht. Nachvollziehbare und damit anpassbare Beispiele reichen mir völlig aus.
Grüße
opiWahn
Nun, die Idee kam mir heute früh auf dem Weg zur Arbeit, als ich in Krumbein's "Markos in OpenOffice.org 3" versucht habe mich wieder etwas schlauer zu machenF3K Total hat geschrieben: Was genau möchtest Du erreichen?
Der Weg, den Du beschreibst, hört sich "strange" an, es gibt bestimmt einen einfacheren Weg.

Nach wie vor habe ich das Problem, daß ich an das Hauptformular, welches u.a. durch DB-Daten gespeist wird, beliebig viele "externe" Blankoformulare anfügen muß.
Zum Zeitpunkt des Anfügens gibt es aber keine Verbindung mehr zur DB, d.h. die notwendigen Daten müssen aus dem Hauptformular gezogen werden.
Das Anfügen hab ich erst mal so gelöst:
Code: Alles auswählen
Sub addPruefForm_TT
document = thisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oVC = thisComponent.getCurrentController.getViewCursor
oVC.jumpToLastPage(true)
oVC.jumpToEndofPage(true)
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Kind"
args1(0).Value = 3
args1(1).Name = "TemplateName"
args1(1).Value = ""
args1(2).Name = "PageNumber"
args1(2).Value = 0
dispatcher.executeDispatch(document, ".uno:InsertBreak", "", 0, args1())
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Name"
args3(0).Value = "file:///C:/xyz/xFormulare/Pruefform_TT.odt"
args3(1).Name = "Filter"
args3(1).Value = "writer8"
dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, args3())
End sub
Page wäre treffender

Was letztlich passieren soll, soll hier veranschaulicht sein: Als Ausweg erdachte ich mir, daß zusätzlich zum Speichern des ausgefüllten Hauptformulares unter gleichem Namen eine Txt- oder CSV-Datei abgespeichert wird, die die Werte von o_name, o_strasse und o_ort enthält. Jedes Formular, das ich dann anfüge soll dann diese Daten z.B. aus der Txt-Datei ziehen.
Vermutlich gibt es auch andere, praktikablere Ansätze, aber da bin ich noch nicht wirklich fündig geworden.
Darüber hinaus strotz diese "Projekt" vor Baustellen in Ermangelung von Programmiererfahrung wie man an meinen Threads aus den letzten Tagen ersehen kann.
Verweise wie
komma4 hat geschrieben: Das geht dann über WRITE brw. READ, siehe F1 Online Hilfe, OpenOffice.org Basic
sind ja durchaus pädagogisch und langfristig das einzige was hilft, aber halt eben nur langfristig, wenn man sowieso beim Lernen und experimentieren ist und dazu kein Zeitdruck kommt.
Das soll jetzt nicht heißen, daß ich jemanden suche, der mir die Arbeit macht. Nachvollziehbare und damit anpassbare Beispiele reichen mir völlig aus.
Grüße
opiWahn
Grüße
opiWahn
opiWahn
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Hallo OpiWahn,
was hälst Du von folgender Idee:
Sagen wir mal Du hast in Deinem Hauptformular die Kundendaten bereits gefüllt.
Dann würde ich es auf folgende Art und Weise versuchen:
1.) Prüfprotokoll (leer) mit "+Form A" anhängen.
2.) Kundendaten aus Hauptformular auslesen und in Prüfprotokoll hineinschreiben.
3.) Datei speichern
Dazu mußt du nur dein Makro "addPruefForm_TT" um die oben genannte Funktion erweitern.
Nix mit zwischen csv oder so.
Gruß R
was hälst Du von folgender Idee:
Sagen wir mal Du hast in Deinem Hauptformular die Kundendaten bereits gefüllt.
Dann würde ich es auf folgende Art und Weise versuchen:
1.) Prüfprotokoll (leer) mit "+Form A" anhängen.
2.) Kundendaten aus Hauptformular auslesen und in Prüfprotokoll hineinschreiben.
3.) Datei speichern
Dazu mußt du nur dein Makro "addPruefForm_TT" um die oben genannte Funktion erweitern.
Nix mit zwischen csv oder so.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Hättest Du Dir mal die "Mühe" gemacht die Hilfe aufzurufen hättest Du ein nachvollziehbares und anpassbares Beispiel dort gefunden.opiWahn hat geschrieben:Verweise wiekomma4 hat geschrieben: Das geht dann über WRITE brw. READ, siehe F1 Online Hilfe, OpenOffice.org Basic
sind ja durchaus pädagogisch und langfristig das einzige was hilft, aber halt eben nur langfristig, wenn man sowieso beim Lernen und experimentieren ist und dazu kein Zeitdruck kommt.
Das soll jetzt nicht heißen, daß ich jemanden suche, der mir die Arbeit macht. Nachvollziehbare und damit anpassbare Beispiele reichen mir völlig aus.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Hi F3K Total,
Dieser füllt die Hauptform entsprechend seinem Aufwand u.ä. weiter aus und hängt an das Hauptformular unterschiedliche Prüfprotokolle in unterschiedlicher Menge. Welche und wieviele genau benötigt werden entscheidet sich erst vor Ort. Nach getahner Arbeit unterschreibt der Kunde digital auf dem Hauptformular und das ganze Paket wird zurück geschickt.
Das ganze soll und wird den Arbeitsprozess dahingeht beschleunigen, daß die Unterlagen deulich schneller zur Weiterverarbeitung (z.B. Faktorierung) wieder zur Verfügung stehen und nicht erst zum Ende der Arbeitswoche eine Papierflut reintrudelt wie derzeit noch.
Grüße
opiWahn
P.S. ich persönlich hätte am allerliebsten von Anfang an mit interaktiven PDF bzw. dem PDF-Office incl. entsprechender Module von OVIS gearbeitet. Das kostet zwar ein wenig, ist aber dafür auch in vielerlei Hinsicht ausbaufähig und zukunftssicher, sieht man man davon ab, daß Adobe das FDF-Format abschaffen wird.
@komma4: hast ja recht
Sorry, aber genau das geht nicht. Die "Zentrale" füllt nur das Hauptformular mit den notwendigen Daten aus einer sich ständig ändernden DB und schickt es per Mail an den Techniker.F3K Total hat geschrieben: was hälst Du von folgender Idee:
Sagen wir mal Du hast in Deinem Hauptformular die Kundendaten bereits gefüllt.
Dann würde ich es auf folgende Art und Weise versuchen:
1.) Prüfprotokoll (leer) mit "+Form A" anhängen.
2.) Kundendaten aus Hauptformular auslesen und in Prüfprotokoll hineinschreiben.
3.) Datei speichern
Dieser füllt die Hauptform entsprechend seinem Aufwand u.ä. weiter aus und hängt an das Hauptformular unterschiedliche Prüfprotokolle in unterschiedlicher Menge. Welche und wieviele genau benötigt werden entscheidet sich erst vor Ort. Nach getahner Arbeit unterschreibt der Kunde digital auf dem Hauptformular und das ganze Paket wird zurück geschickt.
Das ganze soll und wird den Arbeitsprozess dahingeht beschleunigen, daß die Unterlagen deulich schneller zur Weiterverarbeitung (z.B. Faktorierung) wieder zur Verfügung stehen und nicht erst zum Ende der Arbeitswoche eine Papierflut reintrudelt wie derzeit noch.
Grüße
opiWahn
P.S. ich persönlich hätte am allerliebsten von Anfang an mit interaktiven PDF bzw. dem PDF-Office incl. entsprechender Module von OVIS gearbeitet. Das kostet zwar ein wenig, ist aber dafür auch in vielerlei Hinsicht ausbaufähig und zukunftssicher, sieht man man davon ab, daß Adobe das FDF-Format abschaffen wird.
@komma4: hast ja recht

Grüße
opiWahn
opiWahn
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Aloha
Was spricht dagegen, zum Beispiel in den vor Ort lagernden Formularen die gleichen Namen für die Textfelder zu vergeben, die man im Hauptformular verwendet und dann nach dem Anfügen entsprechend die Inhalte zu übertragen?
Wenn Du die Daten nicht aus der DB holen kannst und ausserdem anscheinend sicher bist, dass Du die Daten auch nicht aus dem Hauptformular holen kannst, woher zur Hölle sollen die Daten denn dann kommen? Wie hast Du Dir das denn gedacht?opiWahn hat geschrieben:Sorry, aber genau das geht nicht. Die "Zentrale" füllt nur das Hauptformular mit den notwendigen Daten aus einer sich ständig ändernden DB und schickt es per Mail an den Techniker.
Dieser füllt die Hauptform entsprechend seinem Aufwand u.ä. weiter aus und hängt an das Hauptformular unterschiedliche Prüfprotokolle in unterschiedlicher Menge. Welche und wieviele genau benötigt werden entscheidet sich erst vor Ort.

Was spricht dagegen, zum Beispiel in den vor Ort lagernden Formularen die gleichen Namen für die Textfelder zu vergeben, die man im Hauptformular verwendet und dann nach dem Anfügen entsprechend die Inhalte zu übertragen?
Re: [makro] Writerformular: Daten in .txt oder csv speichern
Hi DPunch,
Ich habe bereits, wie du schon angeregt hast, in allen betreffenden Textfelder die gleichen Name vergeben. o_name, o_strasse, ... sind in der Hauptform wie in der anzufügenden Form gleich.
Die Felder untereinander zu Referenzieren (Einfügen/Feldbefehl/Andere/Querverweise/Referenz setzen z.B. auf o_name im Hauptform und dann Referenz einfügen an der Stelle o_name in der Unterform) hat nicht funktioniert.
Was ich mir bisher angelesen habe wäre, einen Cursor auf das erste Feld zu setzten, den Inhalt quasi zu kopieren und dann diesen anschließend an der anderen gewünschten Stelle in der Folgeseite zu pasten. Soviel zur Theorie. Nur wohin schreib ich den Code dazu: ins Hauptformular oder ins jeweilige Unterformular? Das zu dynamisieren stell ich mir im Hauptformular ziemlich schwierig vor, weil die Anzahl der Seiten ja auch dynamisch mitwachsen.
Grüße
opiWahn
Genau da ist der springende Punkt.DPunch hat geschrieben:... nach dem Anfügen entsprechend die Inhalte zu übertragen
Ich habe bereits, wie du schon angeregt hast, in allen betreffenden Textfelder die gleichen Name vergeben. o_name, o_strasse, ... sind in der Hauptform wie in der anzufügenden Form gleich.
Die Felder untereinander zu Referenzieren (Einfügen/Feldbefehl/Andere/Querverweise/Referenz setzen z.B. auf o_name im Hauptform und dann Referenz einfügen an der Stelle o_name in der Unterform) hat nicht funktioniert.
Was ich mir bisher angelesen habe wäre, einen Cursor auf das erste Feld zu setzten, den Inhalt quasi zu kopieren und dann diesen anschließend an der anderen gewünschten Stelle in der Folgeseite zu pasten. Soviel zur Theorie. Nur wohin schreib ich den Code dazu: ins Hauptformular oder ins jeweilige Unterformular? Das zu dynamisieren stell ich mir im Hauptformular ziemlich schwierig vor, weil die Anzahl der Seiten ja auch dynamisch mitwachsen.
Grüße
opiWahn
Grüße
opiWahn
opiWahn