[Gelöst] Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

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

Moderator: Moderatoren

krueuw
*
Beiträge: 17
Registriert: Sa, 18.03.2017 08:10

[Gelöst] Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von krueuw »

Hallo,
ich habe einen Brief bei dem mittels Makro Teile per Bereich ausgeblendet werden, um verschiedene Versionen zu erzeugen. Innerhalb der Bereiche verwende ich Feldfunktionen - Variable setzen bzw. anzeigen um Werte vom Makro zu schreiben bzw. zu lesen (Vorbild Thomas Krumbein RechVorTk).

Leider funktioniert das Verfahren nicht vollständig. Ohne erkennbaren Grund (Eventuell nach Formatänderungen von Feldfunktionen?) zeigen einige Felder verkehrte Werte, wie 0 oder eine Zahl (ehemaliges Datum?), obwohl als Format Text gesetzt wurde. Während Ansicht - Feldfunktionen = 1 steht der richtige Wert da, wird aber bei Ansicht - Feldfunktionen = 0 durch einen falschen Inhalt ersetzt. Nach mehreren Versuchen das Feld zu löschen und neu anzulegen erscheint nun **Fehlerhafter Ausdruck**. Das Dokument hänge ich an. Die aktuelle Baustelle ist feld5.

Hat jemand einen Tipp?
Dateianhänge
Fehlzeitenbrief_Formular_Krueg_V509x.odt
Beispieldatei Problem feld5
(63.53 KiB) 132-mal heruntergeladen
Zuletzt geändert von krueuw am Fr, 15.09.2017 17:24, insgesamt 1-mal geändert.
Ubuntu 16.04 Libreoffice Version: 5.1.6.2
krueuw
*
Beiträge: 17
Registriert: Sa, 18.03.2017 08:10

Re: Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von krueuw »

Vier Downloads - bisher kein Kommentar. Lasst mich nicht dumm sterben ;-) Konntet ihr das Verhalten nachvollziehen?
Ubuntu 16.04 Libreoffice Version: 5.1.6.2
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von Stephan »

Konntet ihr das Verhalten nachvollziehen?
Ja, ich kann das Verhalten nachvollziehen, auch bei mir wird "Fehlerhafter Ausdruck" angezeigt. Nein ich habe keinen Tipp zur Lösung.


Gruß
Stephan
krueuw
*
Beiträge: 17
Registriert: Sa, 18.03.2017 08:10

Re: Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von krueuw »

Nehmen wir an, dass der Fehler sich auch in der ausgepackten ODT-Datei befindet und da in content.xml (Anhang). Dann bräuchte man zwei Dinge:
  • Einen leistungsfähigen XML-Editor (für mich für Linux) mit übersichtlicher Darstellung dieser Datei,
  • Eine detaillierte Beschreibung des Formats in Bezug auf Felder.
Hat da jemand damit Erfahrung und teilt sie hier?

Inzwischen funktioniert alles mit einem Workaround. Ich habe die kaputten Felder feld5, feld14, feld15 und feld16 übersprungen und durch neue ersetzt. Da die Ursache aber unbekannt ist, kann das immer wieder passieren, deshalb Ursachenforschung.
Dateianhänge
content.xml.zip
(9.91 KiB) 110-mal heruntergeladen
Ubuntu 16.04 Libreoffice Version: 5.1.6.2
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von Stephan »

Also ich arbeite diesbezüglich nur unter Windows und habe Altova XMLSpy (https://www.altova.com/xmlspy-xml-editor), da ich den aber so selten nutze ist mir der zu kompliziert zu bedienen und ich arbeite deshalb mit Notepad++, IE und FF.
Eigentlich habe ich somit kein wirklich gutes Werkzeug für XML, habe mich aber daran gewöhnt.

Ich habe keine detaillierte Beschgreibung der Felder griffbereit, sondern sehe mir das bei Bedarf bei funktionierenden Feldern an.
Das ODF-Format kannst Du Dir auch als ISO-Norm ansehen, aber das ist eher unbequem und bei Feldern wohl auch nicht zielführend wil diese optional sein dürften und mithin nicht in der Norm stehen (da müsste ich aber auch erst nachsehen, bin nicht ganz sicher).

Bei der ISO scheint mir die verfügbare Ausgabe der Norm inzwischen kostenpflichtig:
https://www.iso.org/standard/66363.html

aber Du kannst auch den Standard der OASIS nutzen:
http://docs.oasis-open.org/office/v1.2/ ... -cs01.html

(Der 1.2er Standard der OASIS und die aktuelle ISO-Norm dürften (weitgehend) identisch sein, im Allgemeinen ist der aktuelle OASIS-Standard aber immer etwas weiter, weil die Entwicklung von der OASIS getrieben ist und die ISO bzgl. der Norm immer erst etwas später gleichzieht. Zumindest war das bisher so.)



Gruß
Stephan
krueuw
*
Beiträge: 17
Registriert: Sa, 18.03.2017 08:10

Re: Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von krueuw »

Danke für deine Unterstützung. Ich werde mich erst damit befassen, wenn neue Fehler auftreten. Die Dokumentation hat es ja in sich.
Ubuntu 16.04 Libreoffice Version: 5.1.6.2
krueuw
*
Beiträge: 17
Registriert: Sa, 18.03.2017 08:10

Re: Writer Basic Feldfunktion **Fehlerhafter Ausdruck**

Beitrag von krueuw »

Ich bin heute vermutlich beim Anlegen eines neuen Feldes auf die Lösung gestoßen. Mit folgender Anleitung kann man kaputte Felder herstellen:
  • Klick an der Einfügestelle, um Cursor zu positionieren
  • Einfügen - Feldbefehl - weitere Felder - Variable setzen
  • Namen und Wert eintragen
  • Einfügen klicken
  • kein Ergebnis zu sehen
  • Cursor eneut setzen
  • Einfügen klicken
  • Feld ist zu sehen, funktioniert aber nicht korrekt
Erfolgreiche Reparatur:
Felder markieren und löschen,
Feldbezeichner im Einfügedialog über Icon (durchgestrichener Kreis) löschen,
Feld neu anlegen entsprechend Anleitung unten.

Funktionierende Felder anlegen:
  • Einfügen - Feldbefehl - weitere Felder - Variable setzen
  • Namen und Wert eintragen
  • Klick an der Einfügestelle, um Cursor zu positionieren
  • Einfügen klicken
  • Feld ist zu sehen und funktioniert korrekt
Ursache: Writer fügt Felder nicht an der Cursorposition die vor Öffnen des Dialogs besteht ein, sondern im Nirvana, weil die Cursorposition offenbar nicht definiert ist. Der zweite Einfüge-Klick legt dann ein nicht funktionierendes Duplikat an.

Workaround: Also unmittelbar vor dem Einfügen die Cursorposition durch Klick aktualisieren. Ich würde sagen: Its a bug, not a feature. Wo und wie kann man das melden ;-)
Ubuntu 16.04 Libreoffice Version: 5.1.6.2
Antworten