Hallo zusammen,
ich möchte gern edifact Dateien öffnen, einen string auslesen und anhand des strings die Datei gezielt in einen Ordner verschieben.
Das habe ich bisher (durch stöbern in anderen Foren) als Lösung.
Kann den Pfad finden, wo alle Dateien liegen, aber das Öffnen, Suchen des Strings, Vergleichen mit Liste und verschieben, das bekomme ich nicht hin.
Sub openFiles()
Dim path As String
Dim pattern As String
Dim file As String
Dim strPath As String
Dim strSearch As String
Dim strPathFile As String
strPathFile = Application.GetOpenFilename
'Trennzeichen bestimmen
If InStr(strPathFile, „/“) > 0 Then
strSearch = „/“
Else
strSearch = „“
End If
'Dateiname extrahieren
strPath = Left$(strPathFile, InStrRev(strPathFile, strSearch))
'Rückgabe
path = strPath
pattern = „*.txt“
file = Dir(path & pattern)
Do While file „“
MsgBox file 'Hier Verarbeitung einfügen
file = Dir
>Hier müsste irgendwie die Verarbeitung der Datei rein, öffnen, string suchen und mit einer Liste bekannter Strings vergleichen und entsprechend in einen Ordner verschieben. Wenn String nicht in Liste, dann in einen Ordner Namens „unbekannt“ verschieben.
TextDat.Close
Loop
End Sub
Der String befindet sich in der Textdatei zwischen dem 2. und 3. Doppelpunkt. Er ist 13stellig und besteht nur aus Zahlen.
Die Liste zum Vergleichen ist wie folgt aufgebaut:
Spalte1 | Spalte2
Nummer | Ordner
9800000000000 | G:\Allgemein\9800000000000
9800000000001 | G:\Allgemein\9800000000001
Vielen Dank schon mal für Hilfen und Anregungen.
Gruß
Jens