Abfrage, ob Datei mit Variablem Wert existiert
Hallo Forum,
Ich habe diesen Code:
Jedoch funktioniert er nicht ganz wie er soll (bzw. gar nicht). Es soll in dem Ordner O:\...\ nach einer Datei gesucht werden, welche diese Syntax hat: ..._KW_Jahr - Ich habe bisher eine Tabelle mit allen dafür nötigen KW mit Jahren verbunden. z.B. ist momentan x = 32 und y = 1 - somit 32_2016. Nun möchte ich aber abfragen, ob diese File exisitiert oder nicht. Nur mein Makro spuckt mir immer Okay aus, obwohl die Datei nicht exisitiert.
Die KW und das Jahr sind Variablen - also wurden auch unter Teil und dann Dateiname zusammengefasst.
Mit freundlichen Grüßen Stefan
Ich habe diesen Code:
Sub Test()
Dim x As Long
Dim y As Long
x = Cells(56, 1)
y = Cells(56, 2)
Dim Dateiname, Pfad, Teil
Pfad = "O:\...\"
Teil = Cells(x, y)
Dateiname = Dir(Pfad & "???_" & Teil)
If Dir(Pfad & Dateiname) <> "" Then
MsgBox "Ok"
Else
MsgBox "Error"
End If
End Sub
Jedoch funktioniert er nicht ganz wie er soll (bzw. gar nicht). Es soll in dem Ordner O:\...\ nach einer Datei gesucht werden, welche diese Syntax hat: ..._KW_Jahr - Ich habe bisher eine Tabelle mit allen dafür nötigen KW mit Jahren verbunden. z.B. ist momentan x = 32 und y = 1 - somit 32_2016. Nun möchte ich aber abfragen, ob diese File exisitiert oder nicht. Nur mein Makro spuckt mir immer Okay aus, obwohl die Datei nicht exisitiert.
Die KW und das Jahr sind Variablen - also wurden auch unter Teil und dann Dateiname zusammengefasst.
Mit freundlichen Grüßen Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 312450
Url: https://administrator.de/forum/abfrage-ob-datei-mit-variablem-wert-existiert-312450.html
Ausgedruckt am: 11.04.2025 um 23:04 Uhr
12 Kommentare
Neuester Kommentar

Have a look at one of your posts where I answered, there you find this part:
So, making a simple for loop around it, build your filename and check all files for existence.
Regards
set fso = CreateObject("Scripting.FilesystemObject")
year = 2016
for kw = 1 to 52
strPath = "O:\YOUR PATH\" & kw & "_" & year & ".xlsx"
if fso.FileExists(strPath) then
msgbox "File exists: " & strPath
else
msgbox "File does not exist: " & strPath
end if
next
Regards

?? like above, define your variable and integrate it in line 4 like the other one's ... otherwise I don't understand what you mean.

You unterstand now?^^
Yes Set fso = CreateObject("Scripting.FileSystemObject")
Set regex = CreateObject("vbscript.regexp")
regex.IgnoreCase = True
regex.Pattern = "^..._" & KW & "_" & Year & "\.xlsx$"
for each file in fso.GetFolder("O:\YOUR FOLDER").Files
if regex.Test(file.Name) then
msgbox "Matched File: " & file.Name
end if
Next
Moin Anrion,
Es wäre einfacher für Highload und alle anderen MitleserInnen, wenn du auf Deutsch antwortest.
Deine Frage bezieht sich laut Titel auf den Existenzcheck einer bestimmten Datei, laut Beschreibung aber auf Prüfung auf bestimmte Wildcards in einem Verzeichnis.
Offen bleibt da, wie es denn dann logisch weitergehen soll oder kann.
Vermutlich wäre diese if-DIR ()-Klamotte obsolet, wenn du gleich ein FileDialog-Objekt verwendest. Da kannst du auch einen Filter definieren mit Wildcards
Frag doch mal die Maus oder eine Suchmaschine.
Grüße
Biber
Es wäre einfacher für Highload und alle anderen MitleserInnen, wenn du auf Deutsch antwortest.
Deine Frage bezieht sich laut Titel auf den Existenzcheck einer bestimmten Datei, laut Beschreibung aber auf Prüfung auf bestimmte Wildcards in einem Verzeichnis.
Offen bleibt da, wie es denn dann logisch weitergehen soll oder kann.
Vermutlich wäre diese if-DIR ()-Klamotte obsolet, wenn du gleich ein FileDialog-Objekt verwendest. Da kannst du auch einen Filter definieren mit Wildcards
Frag doch mal die Maus oder eine Suchmaschine.
Grüße
Biber

Hallo!
Get doch
:
Gruß Dieter
Get doch
Sub Test()
Dim Dateiname, Pfad, Teil
Pfad = "D:\Temp\"
Teil = "15" & "_" & "2016"
Dateiname = Pfad & "???_" & Teil & ".xlsx"
If Dir(Dateiname) <> "" Then
MsgBox "Exists"
Else
MsgBox "Not Exists"
End If
End Sub

Hallo Biber!
Soweit ich das verstanden habe, steht CSV oder CSC anstelle der Fragezeichen, was hinten als Dateiendung stehen soll? Keine Ahnung (wie bei so vielen Dingen)
Grüße Dieter
Soweit ich das verstanden habe, steht CSV oder CSC anstelle der Fragezeichen, was hinten als Dateiendung stehen soll? Keine Ahnung (wie bei so vielen Dingen)
Grüße Dieter
[OT]
Moin Pjordorf,
Should we split hairs here?
Ich wollte ja nur highload auf die richtige Spur bringen, weil Langenscheidt ganz komische Synonyme für Bolzen liefert.
Nicht dass er denkt, es hätte was mit kratzenden Bundestrainer zu tun.
Aber danke.
Wichtiger allerdings wäre, wenn sich der TO mal rückmeldet.
Grüße
Biber
[/OT]
Moin Pjordorf,
Should we split hairs here?
Ich wollte ja nur highload auf die richtige Spur bringen, weil Langenscheidt ganz komische Synonyme für Bolzen liefert.
Nicht dass er denkt, es hätte was mit kratzenden Bundestrainer zu tun.
Aber danke.
Wichtiger allerdings wäre, wenn sich der TO mal rückmeldet.
Grüße
Biber
[/OT]