Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auf Suchanfrage gefundene Datei kopieren

Auf Suchanfrage gefundene Datei kopieren
05.06.2003 22:31:33
Björn
Huhu zusammen,

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




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

Betreff
Datum
Anwender
Anzeige
Re: Auf Suchanfrage gefundene Datei kopieren
05.06.2003 23:15:24
RAnton

hallo Björn

wenn du dir() eingibst erhälst du den dateinamen allein

z.B.

dir(application.Workbooks(1).FullName)

liefert den namen des geladenen Workbooks

Gruß
RAnton

Re: Auf Suchanfrage gefundene Datei kopieren
05.06.2003 23:29:24
Björn

Huhu Anton,

ganz so wird es vermutlich nicht gehen, weil die zu kopierende Datei ja gerade nicht eine geöffnete Datei ist, sondern irgendeine auf der FP liegende Datei.
Ich hab jetzt selbst vermutlich einen Workaround gefunden. Nicht besonders professionell, fürchte ich. Tut aber wohl. Über die Funktion Length = len(gesuchteDatei) erhält man die Anzahl der Zeichen des Dateinamens incl. Pfad. Da immerhin der Quellpfad bei allen zu kopierenden dateien gleich und damit gleich lang ist (z.b. 50 Zeichen), läßt sich über die Funktion NameAllein = right(gesuchteDatei, Length - 50) der Name "extrahieren".
Ich glaube, den Ansatz würde man Bruteprogramming nennen :-). Aber er müßte tun..... Danke für Deine Hilfe in jedem Fall!

Viele Grüße

Björn


Anzeige
Re: Auf Suchanfrage gefundene Datei kopieren
05.06.2003 23:34:46
RAnton

Hallo Björn

mit dem Befehl

Dateiname = Dir(....)

kannst du den Namen erhalten, auch wenn die Datei geschlossen ist.

Wo ist dein Problem.

Gruß
RAnton

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige