Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Speicherort einer bestimmten Datei auslesen
#1
Hallo VBA-Freunde,

ich knoble gerade an einer Verbesserung einer Arbeitsmappe.

Dazu möchte ich gerne den Pfad zu einer bestimmten Datei auf dem Server auslesen lassen.

Die Datei heißt z.B. collectingsheet.xlsm und steht bei mir im Verzeichnis C:\BUCON.

Da müssten eigentlich alle für das Projekt relevanten Dateien drinstehen:
QNT.XLSM
Collectingsheet.xlsm
Smartsheet.xlsm
usw-

Ich möchte nun diese Namen in eine Zelle schreiben und per VBA-Code soll mein Rechner und alle Laufwerksordner in meinem Bereich durchgesucht werden, wo die Datei steht.

Ist das überhaupt möglich?

Vielen Dank für eure Antworten.

Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
to top
#2
Hallo Heinz,

hier mal ein Beispielcode. Beschreibung siehe Kommentare. Die Ergebnisse gebe ich zusätzlich nochmal mit dem Dateinamen aus, da der code für mehrere Fundorte einer Datei ausgelegt ist.

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABC
1Suche in:C:\Test 
2SuchnameTreffernameTreferpfad
3Export.xlsxExport.xlsxC:\Test\Mieze
4Daten.zipExport.xlsxC:\Test\Theo\Neuer Ordner
5 Daten.zipC:\Test
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg

DefStr S
DefObj O
Sub FileSearch()
'Variablendeklaration 
'String ueber DefStr 
Dim strSPath, strFile, strMyMsg
'Integer 
Dim iCnt%
'Startpfad festlegen, hier aus Zelle B1 des aktiven Blattes 
strSPath = Cells(1, 2)
'Schleife ueber alle Dateien, ab A3 des aktiven Blattes 
For iCnt = 3 To Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1).Row
  'Filename festlegen 
  strFile = Cells(iCnt, 1).Value
  'Dateisuche beginnen 
  strMyMsg = f_FileSearch(strSPath, strFile, strMyMsg)
'Ende Schleife ueber alle Dateien, ab A2 des aktiven Blattes 
Next
MsgBox "Treffer: " & strMyMsg
End Sub

Function f_FileSearch(strPath, strFile, ByRef strMyMsg) As String
'Verweis auf Microsoft Scripting Runtime setzen 
'Variablendeklaration 
'FileSystem Objekte 
Dim objFSO As New FileSystemObject
Dim objFile As File
'Object ueber DefObj 
Dim objDirs As Folder, objFolder As Folder
'Ordner setzen 
Set objFolders = objFSO.GetFolder(strPath)
'Schleife fuer rekursive abarbeitung 
For Each objFolder In objFolders.SubFolders
  'Erneuter Funktionsaufruf mit einem Unterordner 
  f_FileSearch = f_FileSearch(objFolder.Path, strFile, strMyMsg)
'Ende Schleife fuer rekursive abarbeitung 
Next
'Schleife ueber alle Dateien des Ordners / Unterordners 
For Each objFile In objFolders.Files
  'Wenn der Dateiname dem Suchname entpricht, dann 
  If objFile.Name = strFile Then
    'Ausgabe des Dateinamen und Pfad im Direktfenster 
    Debug.Print objFile.Name & vbTab & objFile.ParentFolder
    'Ausgabe des Pfades an die Funktion 
    strMyMsg = strMyMsg & vbTab & objFile.ParentFolder
    'Ausgabe in eine Zelle des aktiven Blattes ab B2 
    With Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, _
      Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, _
        Columns.Count).End(xlToLeft).Column + 1)
      .Value = objFile.Name
      .Offset(0, 1) = objFile.ParentFolder
    'Ende Ausgabe in eine Zelle des aktiven Blattes ab B2 
    End With
  'Ende Wenn der Dateiname dem Suchname entpricht, dann 
  End If
'Ende Schleife ueber alle Dateien des Ordners / Unterordners 
Next
'Rueckgabewert zuweisen 
f_FileSearch = strMyMsg
End Function
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Daten aus anderer Excel Datei selektiert in neue Datei übernehmen Casual 3 35 Vor 1 Stunde
Letzter Beitrag: WillWissen
Thumbs Up Daten aus einer Matrix auslesen tbuergel 1 43 25.11.2016, 21:39
Letzter Beitrag: shift-del
  Zählenwenn in Abhängigkeit von bestimmten Wörtern in einer Zelle Olivenbaum2013 11 158 16.11.2016, 00:36
Letzter Beitrag: Olivenbaum2013
  Daten aus einer anderen Datei selektieren und einfügen Möchtegern 7 192 14.11.2016, 09:43
Letzter Beitrag: Möchtegern
  E-Mail Benachrichtigung nach Änderung an einer Excel-Datei mrmbj 1 67 11.11.2016, 17:09
Letzter Beitrag: schauan
  Aus Kreuztabelle einen bestimmten Wert auslesen Nuling 3 121 31.10.2016, 15:11
Letzter Beitrag: snb
  Sortierung mehrerer Zeilen nach Größe einer bestimmten Zelle Godman2 8 217 05.10.2016, 18:30
Letzter Beitrag: schauan
  Excel Datei exportieren zu einer XML Datei FaDos 4 281 15.09.2016, 15:56
Letzter Beitrag: FaDos
  Bestimmte Daten aus bestimmten Reitern für einen bestimmten Zeitraum ziehen kue 2 197 06.08.2016, 05:44
Letzter Beitrag: schauan
  Importieren von Daten aus einer .xlsm Datei D K 7 425 12.07.2016, 14:54
Letzter Beitrag: Rabe

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste