weiß jemand, wie ich nur als Rückgabewert einer Filesuche nur den exakten Dateinnamen (ohne die Pfadangabe!) erhalten kann. Der Such-Klassiker:
Sub Suchen()
Dim objFileSearch As FileSearch
Dim strVerzeichnis As String, strDatei As String
strVerzeichnis = InputBox("Verzeichnis:", , "c:\excel")
If strVerzeichnis = "" Then Exit Sub
strDatei = InputBox("Dateiname:", , "test.xls")
If strDatei = "" Then Exit Sub
Set objFileSearch = Application.FileSearch
With objFileSearch
.LookIn = strVerzeichnis
.SearchSubFolders = True
.FileName = strDatei
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox .FoundFiles(1)
Else
MsgBox "Datei wurde nicht gefunden!"
End If
End With
End Sub
liefert ja mit .FoundFiles(1) den Namen plus Pfadangabe. Wenn ich nun die gefundene Datei - unter demselben Namen - an einen anderen Ort kopieren möchte, etwa mit:
Sub DateiKopieren()
Dim sQuelle$, sZiel$, sDatei$
sQuelle = "c:\excel\"
sZiel = "c:\excel\support\"
sDatei = "test.txt"
If Dir(sZiel & sDatei) = "" Then
FileCopy sQuelle & sDatei, sZiel & sDatei
MsgBox "Datei wurde kopiert!"
Else
MsgBox "Datei war schon vorhanden!"
End If
End Sub
, bräuchte ich aber nur den exakten Namen allein.
Hat jemand eine Lösung? Vielen Dank einmal mehr im voraus und viele Grüße
Björn