Nummerformate, Alpahnumerische Zeichen

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: Nummerformate, Alpahnumerische Zeichen

Re: Nummerformate, Alpahnumerische Zeichen

von Karolus » Do, 25.10.2012 21:20

Hallo
Der Code von oben hat ein paar unfeine Nebenwirkungen, neue Version hängt an.

Code: Alles auswählen

import re

rex = re.compile(r'^(\w{3})(\d{2})(\d{3})(\d{2})(\d{3})(\d)$')

def specialformat(event):
    for cell in itersingle(event):
        try:
            if not cell.Tokens and rex.match(cell.String):
                cell.setString( rex.sub(r'\1-\2-\3,\4-\5-\6', cell.String))
        except:
            pass


def itersingle( selection ):
    for r in xrange(selection.Rows.getCount()):
        for c in xrange(selection.Columns.getCount()):
            yield selection.getCellByPosition(c, r)
checkformat.ods
(10.66 KiB) 57-mal heruntergeladen
Karolus

Re: Nummerformate, Alpahnumerische Zeichen

von Karolus » Do, 25.10.2012 19:57

Hallo

Wie bereits im der letzten Antwort beschrieben, ist das Tabellenereignis 'Inhalt geändert'*** von Tabelle1 des Dokuments mit der Ausführung des Codes verknüpft. Daher musst du eigentlich nur deine Eingaben tätigen.

***mglw. gibts diese Tabellenereignisse in deiner OOo-version noch nicht (siehe →Rechtsklick_Tabellenreiter→Tabellenereignisse ??

Mit Sicherheit wird es ab AOO3.4 bzw. seit LO3.4 angeboten.

Karolus

Re: Nummerformate, Alpahnumerische Zeichen

von Karolus » Do, 25.10.2012 18:53

Hallo
Im angehängten Tabellendokument ist das Tabellenereignis 'Inhalt geändert' mit einem Makro verknüpft das jede Eingabe von 3 Buchstaben gefolgt von mindestens 11 Ziffern entsprechend umstrickt.
Der Sourcecode:

Code: Alles auswählen

import re
rex = re.compile(r'(\w{3})(\d{2})(\d{3})(\d{2})(\d{3})(\d)')

def specialformat(context):
    context.setString( rex.sub(r'\1-\2-\3,\4-\5-\6',
                                context.getString()))
checkformat.ods
(10 KiB) 66-mal heruntergeladen
Karolus

Re: Nummerformate, Alpahnumerische Zeichen

von lorbass » Do, 25.10.2012 17:34

wawiproblem hat geschrieben:der zweite [funktioniert] nicht
Magst du uns nun auch noch verraten, wie sich das Nicht-Funktionieren darstellt? Oder brauchst du keine weitere Unterstützung?

Bedenke, dass wir weder hinter dir stehen noch auf deinem Schoss sitzen und jedenfalls nichts von dem sehen, was du siehst.

Gruß
lorbass

Nach oben