Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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

Function für Datei-Suche benötigt

Function für Datei-Suche benötigt
Matthias
Hallo werte Excel-Gemeinde,
ich suche einfach eine Funktion, die mir das erste Such-Ergebnis einer Datei-Suche als String zurückgibt. Wenn die Suche erfolglos, dann gibt es einen Leer-String zurück.
Als Beispiel liefere ich mein Konstukt - der Kern-Teil fehlt leider noch.
Option Explicit
Sub FindIt()
ThisWorkbook.Activate
Tabelle1.Select
Dim Z As Integer, SuchFilter As String, DateiName As String
Const Ort1 = "S:\"
Const Ort2 = "P:\"
For Z = 2 To 5000
SuchFilter = Cells(Z, 2) & " - " & Cells(Z, 3)
Debug.Print "Suche nach: " & Suche
DateiName = DateiSuche(SuchFilter, SuchOrt1)
If DateiName = "" Then DateiName = DateiSuche(SuchFilter, SuchOrt2)
Debug.Print "Gefunden hier: " & DateiName
Next Z
End Sub
Function DateiSuche(ByVal Gesucht As String, ByVal WoSuchen As String) As String
DateiSuche = ""
' ... ... ... Diesen Mittelteil hatte ich bisher mit Application.FileSearch und
'             dies geht jetzt ja seit Office2007 und Office2010 nicht mehr
' "DateiSuche" enthält dann den kpl. Dateinamen inklusive Pfad (wenn gefunden)
End Function
Gibt es jemanden, der für den Zwischenteil der Funktion etwas anbieten kann? Ich will ja nur das erste Suchergebnis und nicht ne ganze Liste von möglichen Ergebnissen. Ich habe das Archiv inzwischen ganz schön quer durchsucht, aber finde leider nichts was ich annähernd für meine gesuchte Lösung umbiegen kann.
Danke für Eure Hilfe im voraus.
Gruß, Matthias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Function für Datei-Suche benötigt
16.07.2011 13:34:49
Josef

Hallo Matthias,
dafür sollte das genügen.
Function DateiSuche(ByVal Gesucht As String, ByVal WoSuchen As String) As String
  
  WoSuchen = IIf(Right(WoSuchen, 1) = "\", WoSuchen, WoSuchen & "\")
  
  If Dir(WoSuchen & Gesucht, vbNormal) <> "" Then DateiSuche = WoSuchen & Gesucht
  
End Function



« Gruß Sepp »

Anzeige
AW: Function für Datei-Suche benötigt
16.07.2011 13:56:50
Matthias
Hallo Josef,
aber Dir() liefert doch nur genaues Matching - ohne die Suche in die Tiefen eines Verzeichnisbaumes.
Ich hole mir aus 2 Spalten zwei Teile des Dateinamens (ohne Extension) zusammen. Die Datei ist dann unabhängig von Extension und Verzeichnistiefe zu finden - Das "Gesucht" ist also eher wie ein Suchfilter zu sehen. Wenn der Filter das erste Mal eine Datei findet, dann will ich die gefundene Datei als Suchergebnis mit Pfad davor.
Das geht mit Dir() (leider) nicht.
Grüße, Matthias
SearchTreeForFile Lib "imagehlp.dll" (ByVal RootPa
16.07.2011 14:57:47
ransi
Hallo MAttias
Schau dir mal dies an:
http://www.vbarchiv.net/api/api_searchtreeforfile.html
Ist genau für dich gemacht ;-)
Wenn du damit nicht klarkommst, melde dich doch noch mal.
ransi
Anzeige
Danke - gute Lösung
17.07.2011 13:24:23
Matthias
Hallo ransi!
Danke für die schnelle & sehr gute und vor allem kurze Lösung. Eingebunden in die Umgebung für mein Problem hat das sehr gut funktioniert und ich habe mir etliche Stunden manueller Arbeit gespart.
Gruß, Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige