von MyQ » So, 20.01.2008 00:36
@Karo:
Danke für den Hinweis. Diese Art der Verarbeitung kannte ich noch nicht. Ich glaube allerdings nicht, dass es für meine Anwendung passt, weil meine zuzuordnenden Zelleninhalte den gesuchten Wert als
Teilstring enthalten, aber nicht
gleich dem Wert in der Referenztabelle sind.
@Stephan: Klar, die Sammlung hatte ich gesehen, aber (nein, ich beschwere mich nicht) das was ich brauche, ließ sich den Dokumenten nur seeeeehr schwer entnehmen. ("Programmieren in Basic mit OOo-Calc" ist übrigens tot.)
Jetzt, da ich nach vier Stunden endlich durchgestiegen bin (bei Perl war ich damals mit einer kurzen knackigen Anleitung nach ca. einer halben Stunde mit meinem wesentlich komplexeren ersten Perl-Programm fertig), ist mir einiges klarer geworden, aber das ganze Gerüst ist noch sehr ungewohnt und kommt in den Dokumenten nicht raus. Egal, mein Fleiß ist ja belohnt worden

:
Code: Alles auswählen
For i=0 To 1
oSheet = thisComponent.sheets.getbyindex(i)
for j=1 to 99
oCellr = oSheet.getCellByPosition(4, j)
oTextr = oCellr.getString()
oTextw = ""
if InStr ( LCase(oTextr), "aldi") > 0 then oTextw = "Ernährung"
if InStr ( LCase(oTextr), "lidl") > 0 then oTextw = "Ernährung"
if InStr ( LCase(oTextr), "aral") > 0 then oTextw = "Fahrzeuge:Tanken"
if InStr ( LCase(oTextr), "drog") > 0 then oTextw = "Drogerie"
oCellw = oSheet.getCellByPosition(5, j)
oCellw.SetString(oTextw)
Next j
Next i
Das Programm sucht in zwei Tabellen und jeweils 99 Zeilen einen Teilstring in einer Zelle, z.B. "aldi" in "ALDI-NORD SAGT DANKE" und gibt in der Spalte danach dann den entsprechend zugeordneten Begriff, z.B. "Ernährung" aus. Ich werde es bei der Zuordnung der Posten beim Online-Banking verwenden, da ich mich von HomeBanking-Programmen jetzt unabhängig mache. Wie schon gesagt, in Perl hätte ich das für jemanden in 2 Minuten geschrieben.
So, dann man eine Gute Nacht!
MyQ
@Karo: [b]Danke für den Hinweis.[/b] Diese Art der Verarbeitung kannte ich noch nicht. Ich glaube allerdings nicht, dass es für meine Anwendung passt, weil meine zuzuordnenden Zelleninhalte den gesuchten Wert als [u]Teilstring[/u] enthalten, aber nicht [u]gleich[/u] dem Wert in der Referenztabelle sind.
@Stephan: Klar, die Sammlung hatte ich gesehen, aber (nein, ich beschwere mich nicht) das was ich brauche, ließ sich den Dokumenten nur seeeeehr schwer entnehmen. ("Programmieren in Basic mit OOo-Calc" ist übrigens tot.)
Jetzt, da ich nach vier Stunden endlich durchgestiegen bin (bei Perl war ich damals mit einer kurzen knackigen Anleitung nach ca. einer halben Stunde mit meinem wesentlich komplexeren ersten Perl-Programm fertig), ist mir einiges klarer geworden, aber das ganze Gerüst ist noch sehr ungewohnt und kommt in den Dokumenten nicht raus. Egal, mein Fleiß ist ja belohnt worden :P :
[code]For i=0 To 1
oSheet = thisComponent.sheets.getbyindex(i)
for j=1 to 99
oCellr = oSheet.getCellByPosition(4, j)
oTextr = oCellr.getString()
oTextw = ""
if InStr ( LCase(oTextr), "aldi") > 0 then oTextw = "Ernährung"
if InStr ( LCase(oTextr), "lidl") > 0 then oTextw = "Ernährung"
if InStr ( LCase(oTextr), "aral") > 0 then oTextw = "Fahrzeuge:Tanken"
if InStr ( LCase(oTextr), "drog") > 0 then oTextw = "Drogerie"
oCellw = oSheet.getCellByPosition(5, j)
oCellw.SetString(oTextw)
Next j
Next i[/code]
Das Programm sucht in zwei Tabellen und jeweils 99 Zeilen einen Teilstring in einer Zelle, z.B. "aldi" in "ALDI-NORD SAGT DANKE" und gibt in der Spalte danach dann den entsprechend zugeordneten Begriff, z.B. "Ernährung" aus. Ich werde es bei der Zuordnung der Posten beim Online-Banking verwenden, da ich mich von HomeBanking-Programmen jetzt unabhängig mache. Wie schon gesagt, in Perl hätte ich das für jemanden in 2 Minuten geschrieben. 8)
So, dann man eine Gute Nacht!
MyQ