Ich habe in Range("_pfade") verschiedene Pfade und in Range("_fwpFiles") verschiedene Filenamen.
Da ich nicht weiss, ob diese Files möglicherweise bereits offen sind und wenn nicht, in welchen der möglichen Pfade sich diese befinden, brauche ich zwei Schlauffen, um dies abarbeiten zu können. Meines Erachtens müsste unter diesen Voraussetzungen mein nachfolgender Code laufen.
Nun habe ich das Problem, dass die Filenamen nicht vollständig sind, sie sind mit einem Zeitstempel ergänzt.
Beispiel:
in Range ("_fwpFiles") steht z.B. "XX_URI_CCC_ABD_20130523_"
das wirkliche File heisst jedoch "XX_URI_CCC_ABD_20130523_20130524155541.csv"
Es gibt also 14 weitere Stellen (20130524155541) sowie der Punkt und die Dateierweiterung (immer ".csv")
Ich habe zwei Fragen:
A) Wie muss ich meinen Code anpassen, damit die Files mit dem Zeitstempel erkannt und geöffnet werden
meiner Meinung nach betrifft dies die Codezeile
Workbooks.Open (Rng1.Text & Rng2.Text)
B) Die csv-Files sind Komma-separated - wie kann ich diese öffnen, damit die Spalteninhalte korrekt dargestellt werden?
Danke für jeden Hinweis.
Gruss, Peter
ReDim vntOpen(0)
For Each Rng1 In Range("_pfade")
For Each Rng2 In Range("_fwpFiles") 'Sheets("Cockpit").Range(G26:P26)
If Rng2 <> "" Then
bolOpen = False
If Dir(Rng1.Text & Rng2.Text, vbNormal) <> "" Then
For Each objWB In Application.Workbooks
intNotFullPathAndName = Len(UCase(Rng1.Text & Rng2.Text))
If Left(UCase(objWB.FullName), intNotFullPathAndName) _
= UCase(Rng1.Text & Rng2.Text) Then
bolOpen = True
Exit For
End If
Next
If Not bolOpen Then
If IsError(Application.Match(Rng1 & Rng2.Text, vntOpen, 0)) Then
ReDim Preserve vntOpen(lngIndex)
vntOpen(lngIndex) = Rng1.Text & Rng2.Text
lngIndex = lngIndex + 1
Workbooks.Open (Rng1.Text & Rng2.Text)
End If
End If
End If
End If
Next
Next
'"Betroffene" _fwpFiles schliessen, sofern diese geschlossen waren
If lngIndex > 0 Then
For Each objWB In Application.Workbooks
If Not IsError(Application.Match(Left(objWB.FullName, _
Len(objWB.FullName) - 18), vntOpen, 0)) Then '' 18 = Zeitstempel 14 + ".csv"
objWB.Close , False
End If
Next
End If
End Sub