VBS: Datumsausgaben aus Textbereich extrahieren - komme nicht weiter!

ThunderBörd

Lieutenant
Registriert
Juni 2008
Beiträge
598
Hey

Ich habe den Inhalt eines Textbereichs in einer Variablen gespeichert. In dem Text kommen Datumsangaben vor, die ich einzeln mit dem aktuellen Datum abgleichen will.

Ich muss die einzelnen Datumsangaben also irgendwie "extrahieren" damit ich nachher eine Liste davon habe.

Habe es mit split versucht - das Ergebnis wird ja in einem Array ausgegeben.

Funktioniert aber nicht - bzw ich weis nicht wie ich die split - Funktion schreiben soll, dass nur die Datumsangaben in dem Array gespeichert werden..

Ja, ich bin Anfänger.. ;) Wäre sehr cool, wenn mir hier jemand helfen kann!

LG
 
Vermutlich müsste man den kompletten String erst mal anhand der Leerzeichen trennen; dann hast du einzelne Wörter und Daten im Array.

Dann durchläufst du das Array mit einer Schleife und prüfst für jeden Wert, ob es ein Datum ist.
Code:
Sub Datumsausgabe()

'String an Leerzeichen trennen'
MeinArray = Split("String mit Datum 01.01.1900")

'Array durchlaufen'
For i = 1 To UBound(MeinArray)

  'Prüfen ob aktueller Wert ein Datum ist'
  If IsDate(MeinArray(i)) Then 

    'tue irgendwas'

  End If

Next i

End Sub
 
Snooty schrieb:
Vermutlich müsste man den kompletten String erst mal anhand der Leerzeichen trennen; dann hast du einzelne Wörter und Daten im Array.

Dann durchläufst du das Array mit einer Schleife und prüfst für jeden Wert, ob es ein Datum ist.
Code:
Sub Datumsausgabe()

'String an Leerzeichen trennen'
MeinArray = Split("String mit Datum 01.01.1900")

'Array durchlaufen'
For i = 1 To UBound(MeinArray)

  'Prüfen ob aktueller Wert ein Datum ist'
  If IsDate(MeinArray(i)) Then 

    'tue irgendwas'

  End If

Next i

End Sub

Merci! Das hilft mir schonmal weiter, aber:

Also der Bereich den ich als Text in einer Variable gespeichert habe ist eine Tabelle (Enthält ein Feld "Eingestellt am" mit dem Datum drin) - zwischen den einzelnen Feldern der Tabelle gibt es allerdings keine Lehrzeichen.

Hier ist mal ein Screenshot:

Unbenannt.JPG


Wenn ich also die Split Funktion anwende und den ganzen Bereich nach Lehrzeichen splitte, bekomme ich unter Anderem folgendes Ergebnis:

"70565sidion05.11.2014Junior"

Zwischen den einzelnen Feldern der Tabelle werden also keine Lehrzeichen erkannt...


Gibt es noch andere Möglichkeiten? Kann man bei der Split Funktion nicht "Datum" als Kriterium angeben oder so..? LG & Danke


Edit: Man könnte auch die Tabelle nach den einzelnen Feldern splitten - das quasi jedes Element des Arrays für 1 Feld der Tabelle steht - ist das möglich?
 
Zuletzt bearbeitet:
Du solltest dir RegExp mal näher ansehen.
Ist super nützlich und braucht man in fast jeder Sprache.

Würde dir auch eine Hilfestellung beim Pattern geben, wenn du nicht weiterkommst.


Ach ja, wäre übrigens noch interessant zu wissen, um was für eine Tabelle es sich überhaupt handet...
Schade, dass man dir sowas wichtiges erst aus der Nase ziehen muss ;)
 
Zuletzt bearbeitet:
Zurück
Oben