Seite 1 von 1
Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: Sa, 09.07.2016 16:12
von Passiflora
Ich zerbreche mir seit längerer Zeit das (zu kleine) Hirn, vielleicht kann mir jemand helfen, wie man folgendes Problem konzeptionell am Besten löst:
Ausgangslage: In Calc werden diverse Daten abgefüllt, andere werden errechnet. Daraus sollen nun bestimmte Textbausteine zusammengesetzt werden in Form von wenn-dann-Abfragen, die letztlich einen schön formatierten Bericht geben. Eventuell in Writer per DDE-Datenaustausch.
Tücken im Detail:
1. Die errechneten Textbausteine sind sehr unterschiedlich gross, teils nur eine Zeile, teils mehrere Zeilen. Das führt zu Formatierungsproblemen, wenn man die Textbausteine in Calc zusammensetzt, denn die Zellengrösse(i.e.S. Zellenhöhe) wird nicht angepasst, wenn plötzlich grösserer Text darin landet.
2. Es gibt Abfragen, die leere Zellen ergeben, die natürlich nicht im Ausdruck erscheinen sollen. Ich kann diese gut ausblenden in Calc, indem ich in der wenn-dann-Abfrage als Ergebnis "Aussortieren" ausgebe. So können später mit Filter - Standardfilter alle Zellen mit dem Inhalt "Aussortieren" ausgeblendet werden. Allerdings kann ich dann keine effektiven DDE-Abfragen mehr in Writer daraus generieren, denn wenn ich eine gesamte Tabelle als DDE-Inhalt einfüge, dann sind auch nach Einschalten des Filters in Calc die ausgeblendete Zeilen immer noch in Writer sichtbar. Umgekehrt finde ich keine Möglichkeit in Writer die leeren (bzw. die mit Inhalt "Aussortieren" ergänzten) Calc-Zeilen auszublenden.
Wenn es nicht verständlich erklärt war, kann ich auch Beispieldateien hochladen.
Danke vorab!
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: So, 10.07.2016 11:10
von clag
Hallo Passiflora,
da dein Tabellenaufbau gänzlich unbekannt ist kann man schwer konkrete Tips geben.
1. "optimale Breite" und "optimale Höhe" ist eine manuelle Formatierung die ist bei Bedarf anzuwenden, wenn es automatisch sein soll dann über ein Makro.
2. beim zusammensetzen der Textteile sind kaum Grenzen gesetzt, da ist nur etwas Kreativität gefragt.
z.B. Leerzeichen und Umbrüche einfügen &" " oder & ZEICHEN(10) usw...
3. ich würde ich wohl alles in eine Zelle schreiben und diese eine Zelle verknüpfen.
Besser ist du zeigst mal in einer Beispiel Datei was du bereits wie angelegt hast, dann kann sicher zielgerichteter geholfen werden.
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: So, 10.07.2016 11:52
von Stephan
2. Es gibt Abfragen, die leere Zellen ergeben, die natürlich nicht im Ausdruck erscheinen sollen. Ich kann diese gut ausblenden in Calc, indem ich in der wenn-dann-Abfrage als Ergebnis "Aussortieren" ausgebe. So können später mit Filter - Standardfilter alle Zellen mit dem Inhalt "Aussortieren" ausgeblendet werden. Allerdings kann ich dann keine effektiven DDE-Abfragen mehr in Writer daraus generieren, denn wenn ich eine gesamte Tabelle als DDE-Inhalt einfüge, dann sind auch nach Einschalten des Filters in Calc die ausgeblendete Zeilen immer noch in Writer sichtbar. Umgekehrt finde ich keine Möglichkeit in Writer die leeren (bzw. die mit Inhalt "Aussortieren" ergänzten) Calc-Zeilen auszublenden.
Du kannst eine Datenbank basierend auf der Calc-Tabelle erstellen und Seriendruckfelder verwenden, dann kannst Du mittels Bedingungen leere Absätze auch ausblenden, siehe z.B.:
http://www.ooowiki.de/VersteckterAbsatz.html
Hilfreich ist eventuell die Extension "Serienbriefbedingungen":
http://calc-info.de/makros.htm#serienbriefbedingungen
in welcher Du in einem Dialog die nötigen Bedingungen 'zusammenklicken' kannst.
Gruß
Stephan
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: So, 10.07.2016 12:04
von F3K Total
Moin,
alternativ kann man so einen zusammengesetzten Brief auch mit einer BASE-Datenbank und statt Serienbrief mittel eines Berichtes erzeugen. Allerdings würde man hier keine Textbausteine abwählen, sondern sie pro Bericht zuordnen.
Anbei mal ein Beispiel.
Im Formular BERICHTE_ERSTELLEN kann man die Textbausteine zuordnen. Dazu einfach links einen Berichtsnamen vergeben, dann rechts in Spalte FK_ID_TB klicken, und den gewünschten Textbaustein auswählen.
Als Beispiel für eine Variable im Text habe ich in Baustein Nr.4 den Platzhalter <PREIS> eingebaut, der in der Abfrage qBERICHT durch den jeweils eingegebenen Preis ersetzt wird.
Zur Erstellung der Berichte einfach auf BERICHT doppelklicken.
Es werden im Formular, da ein Filter eingestellt ist, nur Berichte die keinen Haken bei GEDRUCKT haben, angezeigt.
Und nur diese werden auch erstellt. Also einfach, wenn ein Bericht fertig ist, den Haken setzen und das Formular neu laden, dann ist er weg.
In der Tabelle BERICHTE kann man zur Not, einen falsch gesetzten Haken wieder zurücknehmen.
Um so einen Bericht anders zu formatieren, einfach Rechtsklick -> Bearbeiten
Gruß R
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: So, 10.07.2016 12:29
von Passiflora
Danke Clag. Gerne versuche ich meinen derzeitigen Ansatz in Calc zu erläutern anhand von einer hochgeladenen (leicht humorvollen) Beispieldatei
, in der ich jeweils die Funktionsweise kommentierte.
Die in Calc vorgenommenen Auswertungen übertragen sich dann per DDE in eine Writer-Datei
, dort kann problemlos die Formatierung perfektioniert werden.
Da wahrscheinlich die Writer-Datei bei Euch nicht korrekt angezeigt wird, habe ich einen Screenshot von ihr auch als pdf-Datei hochgeladen. [attachment=1]praesentation_writerdatei.pdf[/attachment]
Besten Dank für Eure Ideen.
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: So, 10.07.2016 19:55
von Passiflora
Besten Dank Stephan und F3K für Eure Ideen! Das Seriendrucktool habe ich heruntergeladen, aber das funktioniert nur mit einer Base-Datenquelle, nicht mit einer Calc-Datenquelle und es lässt sich auch nur eine Tabelle einbinden, in einer müssten aber die (berechneten) Variablen, in der anderen die Textbausteine herkommen. Letztlich soll auch kein Seriendokument generiert werden, sondern nur jeweils ein Bericht, der aus Hunderten Variablen und Textbausteinen zusammengesetzt wird.
Die Lösungsidee mit Base ginge vielleicht ganz gut, leider verstehe ich bislang zu wenig von Base, weil ich es nie benutzt habe (lässt sich aber natürlich ändern), aber soweit ich die Beispieldatei verstehe, muss man jeweils die Textbausteine manuell auswählen. Bei meiner Konzeption würden die Berechnungen aber letztlich vorgeben, welche Textbausteine enthalten sein sollen. Vermutlich lassen sich solche Berechnungen nur in Calc, nicht in Base realisieren.
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: So, 10.07.2016 21:56
von F3K Total
Hi,
doch, klar lassen sich diese einfachen Auswahlen in BASE sogar besonders leicht realisieren.
Wenn es so wie im Beispiel ist, dass Typen (Mann, Frau, Erfahrung) je Person, die Auswahl aus der Gesamtanzahl der Textbausteine bestimmen, ist es ganz einfach.
Wenn nicht, erläutere bitte genau, anhand welcher Kriterien die Auswahl der Textbausteine stattfinden soll.
Filtern, sprich aus einer großen Datenmenge bestimmte Datensätze anhand von Kriterien herausfischen, ist ja eigentlich das, was mit Datenbanken am Besten geht, wenn sie richtig aufgebaut sind.
Gruß R
Re: Konzeptionelle Frage: Textbausteine aus Calc
Verfasst: Mo, 11.07.2016 09:41
von Stephan
aber das funktioniert nur mit einer Base-Datenquelle, nicht mit einer Calc-Datenquelle und es lässt sich auch nur eine Tabelle einbinden
ja, mein Vorschlag benötigt eine Base-Datenbank die Du nach jeder Änderung in der Calc-Tabelle aktualisieren musst.
Auch ist mein Vorschlag aus verschiedenen Gründen, nicht optimal jedoch das einzige Mittel was mir zu dem Problem einfällt das ein leerer Feldbefehl einen leeren Absatz erzeugt.
Ich selbst würde für Dein Problem insgesamt eine Makro-Lösung bevorzugen (ohne Datenbank), aber ist das ein sinnvoller Vorschlag für Dich? Mutmaßlich kannst Du kein Basic programmieren und dann nutzt Dir dieser Vorschlag garnichts, denn Deine Gesamtfrage lässt auch nicht erwarten das jemand von uns Dir fertigen Code hinschreiben könnte, dazu ist Deine Aufgabe zu komplex.
Gruß
Stephan