🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Textzelle - bestimmtes Zeichen verbieten?
Textzelle - bestimmtes Zeichen verbieten?
Hallo,
Ich nutze LibreOffice Calc zur Rechnungsschreibung. Dazu habe ich ein Makro, welches nach Fertigstellung der Rechnung Strings aus mehreren Textzelle rausnimmt und diesen zu einem Dateinamen zusammensetzt unter dem die Datei dann gespeichert wird. Funktioniert soweit eigentlich prima - mit einer Ausnahme:
Wenn in der Textzelle ein Forwardslash enthalten ist wird das dann beim Abspeichern der Datei mit Hilfe des Makros so interpretiert, dass man einen Ordner erstellen möchte mit dem Namen der vor dem Slash steht und in diesen Ordner wird dann die Datei gespeichert mit dem Namen der nach dem Slash steht.
Deswegen meine Frage:
Gibt es eine Möglichkeit eine Textzelle mit Format-Code so zu formatieren, dass sie keine Forwardslashes akzeptiert? Im besten Fall sollten die Forwardslashes einfach durch einen Bindestrich ersetzt oder ganz entfernt werden. Alternativ wäre es auch okay, wenn LibreOffice einfach einen Fehler meldet, wenn man einen Forwardslash einfügt.
Danke für eine Antwort!
Martin
Ich nutze LibreOffice Calc zur Rechnungsschreibung. Dazu habe ich ein Makro, welches nach Fertigstellung der Rechnung Strings aus mehreren Textzelle rausnimmt und diesen zu einem Dateinamen zusammensetzt unter dem die Datei dann gespeichert wird. Funktioniert soweit eigentlich prima - mit einer Ausnahme:
Wenn in der Textzelle ein Forwardslash enthalten ist wird das dann beim Abspeichern der Datei mit Hilfe des Makros so interpretiert, dass man einen Ordner erstellen möchte mit dem Namen der vor dem Slash steht und in diesen Ordner wird dann die Datei gespeichert mit dem Namen der nach dem Slash steht.
Deswegen meine Frage:
Gibt es eine Möglichkeit eine Textzelle mit Format-Code so zu formatieren, dass sie keine Forwardslashes akzeptiert? Im besten Fall sollten die Forwardslashes einfach durch einen Bindestrich ersetzt oder ganz entfernt werden. Alternativ wäre es auch okay, wenn LibreOffice einfach einen Fehler meldet, wenn man einen Forwardslash einfügt.
Danke für eine Antwort!
Martin
Re: Textzelle - bestimmtes Zeichen verbieten?
Hallo
Karolus
Code: Alles auswählen
sub test
print replace("abc/def", "/","-")
end sub
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Textzelle - bestimmtes Zeichen verbieten?
Erstmal Danke für die Antwort!
Das soll doch den Inhalt der Zelle um die es geht wiedergeben? Angenommen es steht in Zelle A1, dann schreibe ich doch stattdessen oder? Auf jeden Fall erhalte bei der Ausführung des Makros einen Dialog von LibreOffice ohne Inhalt, welchen ich mit okay oder abbrechen erwidern kann.
Soll mit der Methode der Inhalt der Zelle so manipuliert werden, dass hinterher das gleiche in der Zelle steht - nur ohne den Forwardslash - oder dient das Makro allein dazu den Dateinamen so zu gestalten, dass ein Slash keinen Ordner erzeugt?
Das
Code: Alles auswählen
"abc/def"
Code: Alles auswählen
A1
Soll mit der Methode der Inhalt der Zelle so manipuliert werden, dass hinterher das gleiche in der Zelle steht - nur ohne den Forwardslash - oder dient das Makro allein dazu den Dateinamen so zu gestalten, dass ein Slash keinen Ordner erzeugt?
Re: Textzelle - bestimmtes Zeichen verbieten?
Hallo
Ich wollte dir zeigen wie man prinzipiell ein Zeichen in einem Text gegen etwas anderes tauscht.
Im Code reicht es nicht 'A1' hinzuschreiben, Basic kann nicht automatisch Zelladressen aus Calc auswerten.
Etwa so:
Karolus
Ich wollte dir zeigen wie man prinzipiell ein Zeichen in einem Text gegen etwas anderes tauscht.
Im Code reicht es nicht 'A1' hinzuschreiben, Basic kann nicht automatisch Zelladressen aus Calc auswerten.
Etwa so:
Code: Alles auswählen
...
doc = thisComponent
sheet = doc.Sheets.getByName("Tabelle1")
cell = sheet.getCellRangeByName("A1")
ordername = replace( cell.String , "/", "-" )
...
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Textzelle - bestimmtes Zeichen verbieten?
Vielen Dank!
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.