Zeichen verbieten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zeichen verbieten

Re: Zeichen verbieten

von Gert Seler » Do, 23.08.2012 18:21

Hallo Zusammen,
hier befinden sich weitere Lösungen für WECHSELN() / ERSETZEN()
von Texten.
http://www.ooowiki.de/CalcFunktionenText/Zeichenketten

mfg
Gert

Re: Zeichen verbieten

von Bockenheimer » Fr, 17.08.2012 18:09

Hallo,
noch ein Hinweis: Sollen - wie anfangs geschrieben - wirkliche alle "/" unterdrückt werden, muss der 4. Parameter (gefundene Textstelle) weggelassen werden. In Gerds Beispiel würde nur der erste Schrägstrich unterdrückt.
Gruß von Bockenheimer

Re: Zeichen verbieten

von Gert Seler » Fr, 17.08.2012 12:18

Hallo Finger_12,
es geht auch ohne "Makro".
Steht der "verkettete Dateinamen" in "A2", schreibe in "B2" folgende Formel :

Code: Alles auswählen

=WECHSELN(A2;"/";"";1)
in "B2" wird "A2" ohne "/" ausgegeben.
Formel nach unten kopieren. Benötigt halt eine zusätzliche Spalte.
Alle "Texte", auch "Zahlentexte" in Spalte-A werden ohne "/" ausgegeben.
Übrigens Dein o.g. Beispiel gibt Standardmäßig ein "Datum" (01.12.13) aus.
Bzw die Zahl 41609 je nach Formatierung aus.

mfg
Gert

Re: Zeichen verbieten

von Stephan » Fr, 17.08.2012 11:06

Eine sinnvolle/ergonomische Lösung ist eigentlich nur möglich wenn das nichtgewolte Zeichen zum Zeitpunkt der unmittelbaren Eingabe zurückgewiesen wird und nicht erst wenn die Eingabe komplett ist. DAzu ist dann ein Listener nötig, wie z.B. in:
http://www.oooforum.org/forum/viewtopic ... highlight=

Basierend darauf ist anhängende Datei gestaltet, die jede eingabe von "/" zurückweist (Beim Öffnen der Datei muß Ausführung von Makros gestattet sein), ggf. müßte diese Datei noch verfeinert werden.

Code ist:

Code: Alles auswählen

Global tccc As Object
Global t_list As Object

Sub RegisterKeyListener
  tccc = ThisComponent.getCurrentController
  t_list = createUnoListener("kli_", "com.sun.star.awt.XKeyHandler")
  tccc.addKeyHandler(t_list) 
End Sub

Sub UnregisterKeyListener
  tccc.removeKeyHandler(t_list)
End Sub

Sub kli_disposing(oEvt)

End Sub

Function kli_KeyPressed(oEvt) As Boolean
  If (oEvt.Keycode = 263) Then
      Msgbox "Eingabe von ""/"" nicht zulässig."
      kli_KeyPressed = True
    Else
     kli_KeyPressed = False
  End If
End Function   

Function kli_KeyReleased(oEvt) As Boolean
  '
End Function
Wenn wegen des »/» beim Speichern ein Unterverzeichnis generiert wird, hat das offensichtlich sehr wohl was mit dem Speichern-Makro zu tun, in dem doch wohl der Dateiname mitsamt »/« zusammengestellt wird.
sehe ich auch so



Gruß
Stephan
Dateianhänge
Key-Listener.ods
(8.29 KiB) 35-mal heruntergeladen

Re: Zeichen verbieten

von lorbass » Do, 16.08.2012 19:16

finger12 hat geschrieben:an Eddy: Verstehe deine Antwort nicht.
Eine Standard-Methode, einzelne Zeichen schon bei der Dateneingabe in eine Calc-Zelle mit Hausmitteln abzuweisen, konnte dir offenbar niemand anbieten, gibt's meines Wissens auch nicht. Also hat Eddy dir eine Methode vorgeschlagen, dies sachgerecht im Rahmen einer Plausibilitätsprüfung in einem Makro unterzubringen, das diese Daten sowieso irgendwann zur Generierung eines Dateinamens verwendet. Das wäre wohl die in jeder Hinsicht „preiswerteste‟ Methode…

Wenn dir das nicht gefällt, könntest du eigens ein spezifisches Makro schreiben, das nur testet ob die fragliche Zelle ein »/« enthält und – wenn dies so ist – dem Benutzer (sinnbildlich) auf die Finger klopft. Damit dieses Makro sofort gestartet wird, sobald der Wert der fraglichen Zelle geändert wird, müsstest du dann allerdings noch einen sogenannten Listener schreiben, der den Zustand dieser Zelle permanent überwacht und bei Eintreten des Ereignisses das Prüf-Makro startet. — Einfacher ist das allerdings nicht.
finger12 hat geschrieben:Das speichermakro hat nichts mit dem "/" zeichen zu tun. Der Schrägstrich im Namen führt aber zu einem Unterordner.
Wenn wegen des »/» beim Speichern ein Unterverzeichnis generiert wird, hat das offensichtlich sehr wohl was mit dem Speichern-Makro zu tun, in dem doch wohl der Dateiname mitsamt »/« zusammengestellt wird. Oder hab ich da was falsch verstanden?

Gruß
lorbass

Re: Zeichen verbieten

von Eddy » Do, 16.08.2012 19:14

Hallo finger12,
finger12 hat geschrieben: Verstehe deine Antwort nicht.
was daran verstehst Du nicht?
finger12 hat geschrieben:Ich suche möglichst keine makrolösung ( zumindest habe ich es vor).
Das schreibst Du hier das erste Mal.
Dein Anliegen wird ohne Makro nicht funktionieren.

Da der Dateiname per Makro zusammengesetzt wird, kannst Du dabei auf zulässige Zeichen prüfen.

Re: Zeichen verbieten

von Eddy » Do, 16.08.2012 12:03

Hallo finger12,
finger12 hat geschrieben: Der Dateinamen wird per Makro aus 3 verschiedenen Zellen zusammengesetzt.
wenn das per Makro gemacht wird, ersetzt mit dem Makro als erstes den Schrägstrich durch ein anderes Zeichen. Wenn es dazu Fragen gibt, stellt die bitte im passenden Unterforum.

Re: Zeichen verbieten

von lorbass » Mo, 13.08.2012 20:59

Gast hat geschrieben:Daten > Gültigkeit?
Und dann?

Ich finde dort jedenfalls nur Möglichkeiten erlaubte Werte festzulegen, aber keine Möglichkeit einzelne Werte zu verbieten, geschweige denn einzelne Zeichen innerhalb der Werte.

Gruß
lorbass

Nach oben