Hallo Liste!
Ich bin kurz vor dem Verzweifeln und hoffe, ihr könnt mir helfen.
Hintergrund:
OpenOffice 2.2.0
Ich übernehme aus einer Dritt-Anwendung Daten in Textmarken. Die Dokumente werden aus Vorlagen erzeugt. Das klappt prima!
Probleme:
Ich will, in Abhängigkeit von den übergebenen Daten, "bedingten Text" generieren. Wie bekomme ich den Inhalt einer Textmarke in das Bedingungsfeld?
Ich will mit den Daten aus den Textmarken rechnen.
Was ich schon probiert habe ist, die Daten zunächst in eine "unsichtbare Tabelle" (in extra Rahmen; Drucken-Atribut ausgeschaltet) einzufügen und dann zunächst in der Tabelle zu rechnen. Das klappt in der Vorlage mit Dummy-Daten prima. Sobald ich aus der Vorlage ein Dokument erzeuge, werden zwar die Textmarken in die Tabelle richtig übernommen, die "Formelbezüge" werden aber entfernt und statt des richtigen Ergebnisses steht "0" in der Berechnungszelle. Wenn ich mit "F2" die Formel im Dokument wieder eintrage, funktioniert es, wie es soll.
Es sieht so aus, als ob die Formeln zu einem Zeitpunkt berechnet werden, zu dem die Textmarken noch nicht aktualisiert sind. Da dann scheinbar nur noch das Ergebniss der Berechnung in der Zelle steht, nicht aber die Formel, wird die Berechnung auch nicht später aktualisiert.
Mein Versuch, eine im normalien Fließtext "händisch" erzeugte Formel in die Tabelle einzufügen (Copy and Paste), quittiert das, aus dieser Vorlage erzeugte Dokument, mit "Fehlerhafter Ausdruck".
Danke fürs Lesen und Nachdenken
und natürlich für jeden Hinweis!
Michael Tietz
Inhalt von Textmarken in Bedingungen und Berechnungen
Moderator: Moderatoren
-
- Beiträge: 2
- Registriert: Mo, 30.04.2007 15:47
- Wohnort: Berlin
Re: Inhalt von Textmarken in Bedingungen und Berechnungen
Bedingungsfelder können nur mit Variablen oder Serienbrieffeldern arbeiten.micha.tietz hat geschrieben: Ich will, in Abhängigkeit von den übergebenen Daten, "bedingten Text" generieren. Wie bekomme ich den Inhalt einer Textmarke in das Bedingungsfeld?
Formeln in Zellen kümmern sich eigentlich nicht um Markierungen wie Textmarken, sondern rechnen einfach mit den Zahlen, die in den Zellen stehen und benutzen dazu die Zelladressen.Ich will mit den Daten aus den Textmarken rechnen.
Was ich schon probiert habe ist, die Daten zunächst in eine "unsichtbare Tabelle" (in extra Rahmen; Drucken-Atribut ausgeschaltet) einzufügen und dann zunächst in der Tabelle zu rechnen. Das klappt in der Vorlage mit Dummy-Daten prima. Sobald ich aus der Vorlage ein Dokument erzeuge, werden zwar die Textmarken in die Tabelle richtig übernommen, die "Formelbezüge" werden aber entfernt und statt des richtigen Ergebnisses steht "0" in der Berechnungszelle. Wenn ich mit "F2" die Formel im Dokument wieder eintrage, funktioniert es, wie es soll.
Es sieht so aus, als ob die Formeln zu einem Zeitpunkt berechnet werden, zu dem die Textmarken noch nicht aktualisiert sind. Da dann scheinbar nur noch das Ergebniss der Berechnung in der Zelle steht, nicht aber die Formel, wird die Berechnung auch nicht später aktualisiert.
Ich habe Dein Beispiel nachgestellt und eine Dokumentvorlage mit einer Tabelle erstellt, die in einigen Zellen Zahlen enthält und in einer anderen Zelle eine Summenformel. Wenn ich aus dieser Vorlage ein neues Dokument erstelle und die Zahlen ändere, passt sich auch das Ergebnis an. Ich habe die Zahlen auch mit einer Textmarke belegt, das hat den Vorgang aber auch nicht gestört. Höchstens, wenn das Zahlenformat auf "Text" geändert wird, klappts nicht mehr mit der Formel.
Erkläre doch einmal näher, wie Du das mit den Textmarken meinst. Wenn die Zahlen, die Du für Deine Berechnung brauchst, als
Name der Textmarken definiert sind, dann sehe ich allerdings schwarz, auf normalem Weg wird man darauf nicht zugreifen können. Du wirst einen anderen Weg suchen müssen, die Zahlen ins Dokument zu bringen. Vielleicht durch Verknüpfung mit einer DB und Serienbrieffeldern?
-
- Beiträge: 2
- Registriert: Mo, 30.04.2007 15:47
- Wohnort: Berlin
Hallo Eia,
ich hatte schon fast die Hoffnung aufgegeben, dass sich noch jemand meinem "Zeug" annimmt.
Ein Kunde von mir nutzt EZauftrag. An sich ein sehr schönes Teil für schmales Geld. Man kann mit dem Programm an verschiedenen Stellen mit Hilfe von Standard-Software Dokumente erstellen. Dafür werden zwei unterschiedliche Verfahren angeboten: "Platzhalter" und "Textmarken".
Platzhalter (Notation etwa <HierSollWasHin> mit <>) sollen aber nicht mehr benutzt werden. Ich nutze also Textmarken.
Es funktioniert so: in der Vorlage schreibe ich "AuftragNetto" (ohne " "), das markiere ich und gehe auf EINFÜGEN-TEXTMARKE. Dann den Textmarkenbezeichner (bei mir identisch mit dem hingeschriebenen Text "AuftragNetto") eingeben und fertig.
Wenn ich aus EZauftrag dann mit dieser Vorlage ein Dokument erstelle, wird der "Textmarkentext" durch den von EZauftrag übergebenen Text/Wert ersetzt. Soweit prima.
Was mir ums verrecken bisher nicht gelungen ist, ist das Benutzen der Inhalte dieser Textmarken (z.B. "Müller", "123,45" u.s.w.) für Bedingungen bzw. Berechnungen.
Ich hoffe, es ist nun noch klarer, was ich will.
Natürlich habe ich probiert, den Inhalt von Textmarken einer Variable zuzuweisen - ich kriege es nicht hin. Entweder Syntaxerror oder das Ergebnis ist leer. Leider habe ich auch bisher nicht rausgefunden, wie ich den Inhalt von (im weitesten Sinne) OO-Feldern händisch editieren kann (so von der Machart von Word).
Was ich in der Tabelle machte, ist folgendes:
A1: EINFÜGEN-TEXTMARKE-MARKENINHALT (->also z.B. 123,45)
A2: =<A1>/2 (kann mich an genaue Sytax nicht erinnern, bin gerade bei Freunden am Rechner, war aber so ähnlich)
Dann Test in der Vorlage; da gebe ich die Werte von Hand ein, da die Textmarkeninhalte ja noch leer sind. Das Teil rechnet.
Vorlage abgespeichert und ein Dokument erzeugt: in a1 steht dann 123,45 (oder eine andere Zahl) und in A2 "0" (ohne ""). Beides sieht nach reinem Text aus.
Wenn ich jetzt - im Dokument - wieder die Formel eintrage, rechnet es natürlich wieder. Es sieht für mich so aus, als on OO erst die Formel berechnet (da aber der Inhalt der Textmarke noch leer ist), dann das Ergebnis hinschreibt - Formelbezug ist dann weg. Das scheint nach Deinen Tests aber nicht normal zu sein, eventuell eine Voreinstellung. Ich werde das nochmal selber untersuchen.
So, das wäre es erst einmal. Ich hoffe, wieder von Dir zu lesen!
Vielen Dank!
Micha
ich hatte schon fast die Hoffnung aufgegeben, dass sich noch jemand meinem "Zeug" annimmt.
Ein Kunde von mir nutzt EZauftrag. An sich ein sehr schönes Teil für schmales Geld. Man kann mit dem Programm an verschiedenen Stellen mit Hilfe von Standard-Software Dokumente erstellen. Dafür werden zwei unterschiedliche Verfahren angeboten: "Platzhalter" und "Textmarken".
Platzhalter (Notation etwa <HierSollWasHin> mit <>) sollen aber nicht mehr benutzt werden. Ich nutze also Textmarken.
Es funktioniert so: in der Vorlage schreibe ich "AuftragNetto" (ohne " "), das markiere ich und gehe auf EINFÜGEN-TEXTMARKE. Dann den Textmarkenbezeichner (bei mir identisch mit dem hingeschriebenen Text "AuftragNetto") eingeben und fertig.
Wenn ich aus EZauftrag dann mit dieser Vorlage ein Dokument erstelle, wird der "Textmarkentext" durch den von EZauftrag übergebenen Text/Wert ersetzt. Soweit prima.
Was mir ums verrecken bisher nicht gelungen ist, ist das Benutzen der Inhalte dieser Textmarken (z.B. "Müller", "123,45" u.s.w.) für Bedingungen bzw. Berechnungen.
Ich hoffe, es ist nun noch klarer, was ich will.
Natürlich habe ich probiert, den Inhalt von Textmarken einer Variable zuzuweisen - ich kriege es nicht hin. Entweder Syntaxerror oder das Ergebnis ist leer. Leider habe ich auch bisher nicht rausgefunden, wie ich den Inhalt von (im weitesten Sinne) OO-Feldern händisch editieren kann (so von der Machart von Word).
Was ich in der Tabelle machte, ist folgendes:
A1: EINFÜGEN-TEXTMARKE-MARKENINHALT (->also z.B. 123,45)
A2: =<A1>/2 (kann mich an genaue Sytax nicht erinnern, bin gerade bei Freunden am Rechner, war aber so ähnlich)
Dann Test in der Vorlage; da gebe ich die Werte von Hand ein, da die Textmarkeninhalte ja noch leer sind. Das Teil rechnet.
Vorlage abgespeichert und ein Dokument erzeugt: in a1 steht dann 123,45 (oder eine andere Zahl) und in A2 "0" (ohne ""). Beides sieht nach reinem Text aus.
Wenn ich jetzt - im Dokument - wieder die Formel eintrage, rechnet es natürlich wieder. Es sieht für mich so aus, als on OO erst die Formel berechnet (da aber der Inhalt der Textmarke noch leer ist), dann das Ergebnis hinschreibt - Formelbezug ist dann weg. Das scheint nach Deinen Tests aber nicht normal zu sein, eventuell eine Voreinstellung. Ich werde das nochmal selber untersuchen.
So, das wäre es erst einmal. Ich hoffe, wieder von Dir zu lesen!
Vielen Dank!
Micha