Ich verwende in Base den Bericht-Generator um ausgewählte Datenbankeinträge auf Basis eines Textdokumentes drucken zu können. Dabei verwende ich auch Bilder, die sich durch Verknüpfung des Dateinamens mit einem graphischen Steuerelement im Bericht automatisch in das Textdokument einfügen lassen. Ich musste nun feststellen, dass - über die üblichen als Dateiname verbotenen Zeichen hinaus - der Bericht-Generator bei Auftreten der Zeichen [ ] { } \ < > % " und Leerzeichen keinen Bericht erstellt, sondern mit der Fehlermeldung “illegal character” abbricht. Kommen die Zeichen # oder ? vor, wird zwar ein Bericht erstellt, aber kein Bild in das Textdokument geladen. Ist das so gewollt? Kann man das umgehen? In den Dateinamen meiner Bilder tauchen massenhaft eckige und geschweifte Klammern und Leerzeichen auf. Die jetzt alle vor dem Ausdruck zu ersetzen ist extrem Aufwändig. Hat jemand eine Idee?
Du meinst den eingebauten ReportBuilder, oder?
Dazu die Information: Das Ding ist in der Form seit 2008 nicht mehr angepackt worden - vor LibreOffice-Zeiten. Einzige kleine Erweiterung war da, dass die Zeilenhöhe jetzt auf automatische Anpassung gesetzt werden kann. Der Code ist wohl auch so undurchsichtig, dass es da eines/einer erfahrenen Entwickler(in) mit viel Zeit bedarf, um etwas grundlegend zu korrigieren. Deswegen würde ich zuerst einmal alles zu vermeiden versuchen, was den ReportBuilder belastet.
Ich bin mit DOS angefangen und habe lange gebraucht, bis ich überhaupt das erste Mal Dateinamen länger als 8 Zeichen + Suffix geschrieben habe. Eine Dateinamen mit Sonderzeichen, auch Leertasten, erstelle ich jetzt noch nicht. Deswegen habe ich hier auch kein Makro in der Hinterhand, aber vielleicht hilft ja die Makro-Funktion ConvertToUrl. Mir würde da allerdings näher liegen, mit Hilfe eines Shellskripts die entsprechenden Zeichen aus den Dateinamensbezeichnungen zu entfernen.
Du kannst natürlich einen Bugreport dazu auf machen. Ob daraus aber etwas wird wage ich zu bezweifeln.
Danke für die Info Robert. Das mit den Sonderzeichen (die ich normalerweise auch nicht in Dateinamen unterbringe) hat mit meinem Problem der Formatierung bei chemischen Formeln zu tun. Ich bin Deinem Rat von April oder so gefolgt, und binde die chemischen Formeln mit hoch- und tiefgestellten Zahlen als Bilder ein. Als Dateiname verwende ich der Einfachheit halber schlicht die Zeichenfolge, die der chemischen Formel entspricht, nur halt ohne Hoch- bzw. Tiefsetzungen. Und so kommen insbesondere eckige und geschweifte Klammern und Leerzeichen in den Dateinamen.
Ich kann in den in der Datenbank abgelegten Dateinamen nach Export in Calc mit der Suchen/Ersetzen-Funktion in den Feldern die eckigen und geschweiften Klammern durch runde ersetzen. Wie ich in Calc Leerzeichen entdecken und entfernen kann, ist mir unklar, werde ich aber irgendwie lösen können. Nur wie ich in den abgespeicherten Dateinamen der Bilder diese Ersetzungen automatisiert vornehmen kann - keine Idee. Hast Du Vorschläge?
Wie ich in Calc Leerzeichen …
Suchen und Ersetzen - Regulärer Ausdruck in Suchen: \s
(siehe auch ICU - Regular Expressions und LibreOffice Hilfe - Liste der regulären Ausdrücke
Danke Opaque, habe es probiert, funktioniert.
Bin inzwischen zu dem Schluss gekommen, doch nicht die Dateinamen gemäß des ReportBuilders umzubauen (viel Aufwand, Informationsverlust, schlechte Lesbarkeit, die recht komplexe Erzeugung von Bildern der chemischen Formeln wird noch aufwändiger), sondern zu versuchen, bei der Report-Erstellung um das Problem herum zu kommen.
Danke trotzdem für die Unterstützung von Allen.