Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Pfad einlesen





Frage

Hallo, ich habe eine tabelle wo ich per makro alle dateinamen eingelesen habe die in einem bestimmten ordner stehen. Mein problem ist jetzt das ich nicht nur den Dateinamen brauche sondern auch den kompeltten Pfad des dateinames. Da ich in einem Ordner suche wo es auch unterordner gibt kann ich nicht einfach den übergeordneten Pfad + dateiname nehmen MfG

Antwort 1 von piano

Hallo
Wie soll das gehen?
Du mußt doch beim Erstellen der Tabelle bereits den Pfad kennen!
Ist diese Datei als Workbook geladen, dann kannst du mit
ActiveWorkbook.Fullname
den Pfad + Namen erhalten.
Wenn du Probleme hast, den Dateinamen aus dem ganzen Pfad zu filtern, sieh dir folgenden Code an:
Sub Dateinamen()
VollName = ActiveWorkbook.FullName
FilesSplitten (VollName)
End Sub

Sub FilesSplitten(VollName)
Dim Pfad
Dim Datei
Dim Extension
For i = Len(VollName) To 1 Step -1
 If Mid(VollName, i, 1) = "\" Then ´ keine Extension
  Extension = ""
  Exit For
 End If
 If Mid(VollName, i, 1) = "." Then
  Extention = Right(VollName, Len(VollName) - i)
  VollName = Left(VollName, i - 1)
  Exit For
 End If
Next i
i = Len(VollName)
If InStr(VollName, "\") <> 0 Then
 While Mid(VollName, i, 1) <> "\"
  i = i - 1
 Wend
End If
Pfad = Left(VollName, i)
Datei = Right(VollName, Len(VollName) - i)
End Sub


Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -

Antwort 2 von temsen33

ich suche nicht den pfard meiner exceldatei!
den Hauptpfad kenn ich ja auch nur dort gib es auch noch unterordner die durchsuchtwerden.
ich bekomme keinen wert zurück welcher dieser unterordner gerade durchsucht wird beziehungs weiße wo das file liegt !

Antwort 3 von temsen33

um die dateien zu finden benutze ich den befehl filesearch

Antwort 4 von piano

Hallo
Sieh dir das an:
Filesearch bringt dir ja den vollen Pfad mit!
Sub DateienSuchen()
WoBinIch = Application.ActiveWorkbook.FullName
Set fs = Application.FileSearch
With fs
    .LookIn = "C:\Dokumente und Einstellungen\xxxx\Eigene Dateien\"
    .Filename = "*.*"
    If .Execute > 0 Then
        MsgBox "There were " & .FoundFiles.Count & _
        " file(s) found."
        For i = 1 To .FoundFiles.Count
            MsgBox .FoundFiles(i)
        Next i
    Else
        MsgBox "There were no files found."
    End If
End With

End Sub

Weitere Auswertung siehe AW 1
Gruss piano

Antwort 5 von schnallgonz

Salve piano,
ich hab´s zwar noch nicht benötigt, aber diesen "Pfadlutscher" mußte ich mir doch sofort sichern, super Lösung, Danke.

mfg
schnallgonz

Ich stimme mit der Mathematik nicht überein.
Ich meine, dass die Summe von Nullen eine gefährliche Zahl ist. (S.J. Lec)

Signatur und Textformatierungen wurden mit SNTool V1.2.13 erstellt


Antwort 6 von temsen33

ja genau das brauchte ich !!! :D vielen vielen dank piano ... werd erst mal dann gleich das makro umschreien !

danke nochmal

MfG temsen33

Antwort 7 von nighty

hi all :)

hier ein beispiel
bei einer nicht bekannten anzahl von unterordnern werden alle .xls die gefunden werden mit pfadangaben aufgelistet :)

gruss nighty

Option Explicit
Sub makro01()
Dim tabellen As Integer
Dim DateiName As String
Dim Dateien As Integer
With Application.FileSearch
.NewSearch
.LookIn = "C:\test\"
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute() > 0 Then
For Dateien = 1 To .FoundFiles.Count
Cells(Dateien, 1) = .FoundFiles(Dateien)
Next Dateien
End If
End With
End Sub

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: