Datei mit unbekanntem Namen öffnen

vibsi

Grünschnabel
Hi Leute,

wie kann ich denn in Visual Basic eine Datei öffnen, die alle paar Tage anders heißt?
Nur ein Teil des Dateinamens ("Prot....xls") bleibt gleich.
Ich habs so versucht:
String s = "Prot*.xls"
Mit ner Wildcard scheints aber nicht zu funktionieren. :(
Die Datei liegt ausserdem immer im selben Ordner.
Kann mir jemand helfen?
 
Ich glaub dies sollte eine Möglichkeit sein:

Code:
Dim oFSO, oFolder, oFile

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(App.Path)
'App.Path Für aktuelles Verzeichnis (hier kann auch bspw. "C:\" angegeben werden

For Each oFile In oFolder.Files
    If Left$(LCase$(oFile.Name), 4) = "prot" And LCase$(oFSO.GetExtensionName(oFile)) = "xls" Then
        Open oFile.ParentFolder & oFile.Name For Input As #1
            'Die Datei ist nun geöffnet und kann nun ausgelesen werden
        Close #1
    End If
Next
Dieser Code schaut in einem angegebenen Verzeichnis nach allen Dateien, die mit "prot" anfangen (ohne Beachtung der Groß- und Kleinschreibung) und als Dateiendung "xls" haben.

Jede Datei die nach diesen Kriterien gefunden wird, wird auch gleich zum Einlesen geöffnet.


mfG,
MAN
 
Zuletzt bearbeitet:
Hi zusammen,

vorstellbar währe auch folgende Lösung:

Code:
    Dim szPath                      As String
    Dim szSearch                    As String

    Rem ============================================================================
    Rem == Hier Suchpfad aufbauen.                                                ==
    Rem ============================================================================
    szPath = App.Path & IIf(Right$(App.Path, 1) = "\", "", "\")
    szSearch = szPath & "Prot*.xls"

    szSearch = Dir$(szSearch, vbNormal)
    If szSearch = "" Then
        MsgBox "File not found"
    Else
        MsgBox "Found file " & szPath & szSearch
    End If

Das funktioniert aber nur, wenn es eine eindeutige Datei Prot*.xls im Verzeichniss gibt. Sind mehrere Dateien vorhanden, auf die das Suchmuster zutrifft, dann kann nicht garantiert werden, dass er die Datei mit dem neuesten Datum nimmt.

Hier ist die Lösung von MAN besser, da sie alle dem Suchmuster entsprechenden Dateien aufspürt.

Gruß
Das Orakel
 

Neue Beiträge

Zurück