🙏 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!🍀

❤️ DANKE >> << DANKE ❤️

>> 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?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
enieffak
Beiträge: 4
Registriert: So 15. Jan 2012, 17:36

Textzelle - bestimmtes Zeichen verbieten?

Beitrag von enieffak » Sa 1. Dez 2012, 13:17

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

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Textzelle - bestimmtes Zeichen verbieten?

Beitrag von karolus » Sa 1. Dez 2012, 13:46

Hallo

Code: Alles auswählen

sub test
print replace("abc/def", "/","-")
end sub
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

enieffak
Beiträge: 4
Registriert: So 15. Jan 2012, 17:36

Re: Textzelle - bestimmtes Zeichen verbieten?

Beitrag von enieffak » Sa 1. Dez 2012, 22:24

Erstmal Danke für die Antwort!

Das

Code: Alles auswählen

"abc/def"
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?

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Textzelle - bestimmtes Zeichen verbieten?

Beitrag von karolus » So 2. Dez 2012, 07:54

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:

Code: Alles auswählen

...
doc = thisComponent
sheet = doc.Sheets.getByName("Tabelle1")
cell = sheet.getCellRangeByName("A1")
ordername = replace( cell.String , "/", "-" )
...
 
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

enieffak
Beiträge: 4
Registriert: So 15. Jan 2012, 17:36

Re: Textzelle - bestimmtes Zeichen verbieten?

Beitrag von enieffak » So 2. Dez 2012, 12:21

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.



Antworten