Knifflig:.. lösbar? Umwandlung 'Datum' in Datum ?

20/10/2009 - 22:19 von Steffen Brose | Report spam
Hallo Allseits,

ich versuche mal die Erklàrung meines Problems/meiner Anfrage besser
umgekehrt:
Erst Anfrage dann Hintergrund:

Ich habe einen VBA-string. In diesem steht z.Bsp:

"Viele 'Sachen' und dann Rechnungsdatum 11. Oktober 2009. Dann wieder viele
Sachen und dann Zahlungsziel 30.10.2009"

Ist es irgendwie möglich daraus (aus diesem VBA-string):

"Viele 'Sachen' und dann Rechnungsdatum 11.10.09. Dann wieder viele Sachen
und dann Zahlungsziel 30.10.09"

zu machen ? Also alle vorkommenden Varianten von einem Datum in
8-Stellen(Datum) umzuwandeln ?

Hintergrund:
Ich scanne z.Bsp. Rechungen - dann werden diese via 'OCR' in pdf
umgewandelt/abgelegt.
Aus diesen pdf werden txt gemacht.
Diese txt'en werden in die A07 importiert. Das Thema Import (könnt Ihr Euch
evtl. noch daran erinnern ?) = 1A-Hilfe durch Euch.

Diese txt sind jetzt in A07 in jeden neuen Satz in einem Memo.

Dieses Memo wird dann weiter, zusàtzlich in ein VBA-string eingelesen - in
diesem str werden dann die Zeilenumbrüche gelöscht - und dann werden doppelte
Leerzeichen entfernt
(wieder: könnt Ihr Euch evtl. daran erinnern ?) = 1A-Hilfe durch Euch.

Dann geht es an die "Findung": welches A07-Feld kann welchen Datumswert aus
diesem String automatisch übernehmen ?

Also o.g. Bsp.: A07 Feld = ReDatum (Suche 'Rechnungsdatum' im string -
danach dann - schaue, ob die nàchsten 8, 12 , 13 oder 14 Zeichen evtl. ein
Datumsformat haben- wenn ja: trage den Wert in das Feld ReDatum ein.

Bis jetzt funkt es (mein VBA-Code) so 'halbwegs' ganz 'ordentlich'...

-

Aber wesentlich besser wàre natürlich: vorher - alle möglichen Datumsangaben
in dem VBA-string generell in ein 8-Stellen(Datum) umzuwandeln...
Dann würden im VBA-String ausschließlich 8-stellige Datumsangaben stehen und
dadurch wàre die Such-'Schrittweite' immer nur 8 Zeichen.
Aktuell habe ich einige 'Fehltreffer'.


Falls ich mich zu ... ausgedrückt habe, bitte Info von Euch.

(gut 'verstàndliche' Anfragen zu stellen - ist bestimmt auch ein Problem für
eine mögliche Lösung..)

Danke für Eure Hilfe.
Gruß Steffen
 

Lesen sie die antworten

#1 Jürgen Volke
21/10/2009 - 08:14 | Warnen spam
Hallo Steffen


ich versuche mal die Erklàrung meines Problems/meiner Anfrage besser
umgekehrt:
Erst Anfrage dann Hintergrund:

Ich habe einen VBA-string. In diesem steht z.Bsp:

"Viele 'Sachen' und dann Rechnungsdatum 11. Oktober 2009. Dann wieder
viele
Sachen und dann Zahlungsziel 30.10.2009"

Ist es irgendwie möglich daraus (aus diesem VBA-string):

"Viele 'Sachen' und dann Rechnungsdatum 11.10.09. Dann wieder viele
Sachen
und dann Zahlungsziel 30.10.09"

zu machen ? Also alle vorkommenden Varianten von einem Datum in
8-Stellen(Datum) umzuwandeln ?

Hintergrund:
Ich scanne z.Bsp. Rechungen - dann werden diese via 'OCR' in pdf
umgewandelt/abgelegt.
Aus diesen pdf werden txt gemacht.
Diese txt'en werden in die A07 importiert. Das Thema Import (könnt Ihr
Euch
evtl. noch daran erinnern ?) = 1A-Hilfe durch Euch.

Diese txt sind jetzt in A07 in jeden neuen Satz in einem Memo.

Dieses Memo wird dann weiter, zusàtzlich in ein VBA-string eingelesen -
in
diesem str werden dann die Zeilenumbrüche gelöscht - und dann werden
doppelte
Leerzeichen entfernt
(wieder: könnt Ihr Euch evtl. daran erinnern ?) = 1A-Hilfe durch Euch.

Dann geht es an die "Findung": welches A07-Feld kann welchen Datumswert
aus
diesem String automatisch übernehmen ?

Also o.g. Bsp.: A07 Feld = ReDatum (Suche 'Rechnungsdatum' im string -
danach dann - schaue, ob die nàchsten 8, 12 , 13 oder 14 Zeichen evtl.
ein
Datumsformat haben- wenn ja: trage den Wert in das Feld ReDatum ein.

Bis jetzt funkt es (mein VBA-Code) so 'halbwegs' ganz 'ordentlich'...

-

Aber wesentlich besser wàre natürlich: vorher - alle möglichen
Datumsangaben
in dem VBA-string generell in ein 8-Stellen(Datum) umzuwandeln...
Dann würden im VBA-String ausschließlich 8-stellige Datumsangaben stehen
und
dadurch wàre die Such-'Schrittweite' immer nur 8 Zeichen.
Aktuell habe ich einige 'Fehltreffer'.




also ich verstehe das so, daß auf dem Original das Datum mit
ausgeschriebenem
Monat steht und du dieses bei irgend einem Schritt in Zaheln umwandeln
willst.
Im Prinzip ist es ja dann egal, wann du das machst - der Weg wird der selbe
sein.

z.B könntest du 12 Replace benutzen alla
replace(replace(. " Oktober ", ".10.), " November ", ".11.") ...

HTH Jürgen

Ähnliche fragen