Suchen könnte man so handhaben (auch nur ein Ansatz):
Dim strDatendatei As String
strDatendatei = Dir$(ThisDocument.Path & "\*liste*.xls")
Do While strDatendatei <> ""
Debug.Print strDatendatei
Exit Do 'Wir nehmen gleich den ersten Fund,
'verlassen also die Schleife hier sofort wieder.
'Man könnte an dieser Stelle u.a. noch den Dateinamen überprüfen und dann entscheiden
'(z.B. ob er eine vierstellige Zahl beinhaltet oder nicht).
strDatendatei = Dir$() 'nächste Datei suchen
Loop
If strDatendatei <> "" Then
Call MsgBox("Datendatei gefunden.", vbInformation)
Else
Call MsgBox("Keine Datendatei gefunden!", vbExclamation)
End If
Was den letzten Befehl in deinem Quellcode angeht, dort steht der Variablenname strDatendatei innerhalb eines Textes. Datasource wird darum niemals den Pfad zur Datei erhalten (alles zwischen " ist blanker Text!!!). Was du meinst ist (zur Übersicht gekürzt):
Connection:= _
"User ID=Admin; Data Source=" & strDatendatei & ";Mode=Read; "
Ich rate bei solchen Dingen immer dazu, dir mal derlei zusammengefummelte Zeichenketten in einer Variable zwischenzuspeichern und mit debug.print (Ausgabe im Direktbereich von VBA - ggf. STRG+G zum öffnen des Fenster drücken, siehe Menü Ansicht) testweise auszugeben. Dann kann man am einfachsten überprüfen, ob alles richtig ist.
Gruß
|