Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei vorhanden?

Datei vorhanden?
04.08.2015 17:49:07
Allo
Hallo Excel-Freunde,
ich habe folgenden Code:
Private Sub cmdkey_Click()
Dim dateiname As String
Set myrange = Range("Monatsverzeichnis")
cb2 = Sheets(4).[e5]
cb1 = Sheets(5).[e5]
p = Worksheets(9).Cells(2, 6) & Application.PathSeparator & cb2
p = p & Application.PathSeparator & Application.WorksheetFunction.VLookup(cb1, myrange, 2,  _
False)
dateiname = p & Application.PathSeparator & "AW-" & cb1 & ".xia"
If Dir("p\*.xia") Then
MsgBox "Datei ist vorhanden"
Else
MsgBox "Datei ist nicht vorhanden"
End If
End Sub
Obwohl in dem Verzeichnis die Datei liegt, sagt mir die Box, "Datei ist nicht vorhanden".
gebe ich anstatt p den genauen Pfad an, funktioniert es.
Wenn ich mir über eine msgbox p anzeigen lasse ist der Wert genauso wie er sein muss.
Wo liegt denn mein Fehler?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei vorhanden?
04.08.2015 18:32:01
Sepp
Hallo Allo,
p ist eine Variable, du musst sie auch benutzen!
Dir(p & "\*.xia")
Gruß Sepp

AW: Datei vorhanden?
04.08.2015 18:33:26
Nepumuk
Hallo,
da fehlt der Doppelpunkt nach dem Laufwerksbuchstaben.
Zudem fragst du nur ab ob irgendeine .xia - Datei vorhanden ist.
Gruß
Nepumuk

AW: Datei vorhanden?
04.08.2015 18:37:39
Jürgen
Hallo Allo,
der Fehler liegt im Verständnis des Dir-Befehls. Dieser liefert kein "Wahr" oder "Falsch", ob eine Datei vorhanden ist, sondern den (genauer: den ersten gefunden) Dateinamen zurück bzw. eine leere Zeichenkette, wenn keine passende Datei gefunden werden konnte. Das kann man natürlich dazu nutzen, das Vorhandensein einer Datei zu prüfen: ist der Rückgabewert eine leere Zeichenkette, ist sie nicht da. Deine Zeile sollte also lauten
If Dir("p\*.xia")  "" Then
Ich hoffe, das hilft Dir weiter. Schlag doch auch mal den Dir-Befehl in der VBA-Hilfe nach.
Gruß, Jürgen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige