Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1048to1052
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

Dateinamen auslesen (aus Ordnernamen in Spalte)

Dateinamen auslesen (aus Ordnernamen in Spalte)
08.02.2009 21:31:46
Tobias
Dieses Script sollte eine Dateiliste erstellen, wenn der Ordner- bzw. Verzeichnisname in der Spalte A steht.
Quelle: https://www.herber.de/mailing/072499h.htm
Ich bekomme aber Laufzeitfehler 445. Objekt unterstützt diese Aktion nicht.
Woran kann das liegen? Benutze Excel 2007

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen auslesen (aus Ordnernamen in Spalte)
08.02.2009 21:43:00
Tino
Hallo,
Application.FileSearch geht in xl2007 nicht mehr.
Schau Dich mal nach Scripting.FileSystemObject um, gibt viele Beispiel im Archiv.
Gruß Tino
AW: Dateinamen auslesen (aus Ordnernamen in Spalte)
08.02.2009 22:03:00
Tobias
Kann mir jemand sagen, wie ich das script ändern muss, das es in Office 2007 funktioniert?
Z.b. mit dem Scripting.FilesystemObject ?
Ich bin leider noch ziemlich blutiger Anfänger....

Sub DateiListe()
Dim wks As Worksheet
Dim iRow As Integer, iCounter As Integer, iRowT As Integer
Application.ScreenUpdating = False
Set wks = ActiveSheet
Workbooks.Add 1
iRow = 1
Do Until IsEmpty(wks.Cells(iRow, 1))
Cells(1, iRow).Value = wks.Cells(iRow, 1).Value
iRowT = 1
With Application.FileSearch
.NewSearch
.LookIn = wks.Cells(iRow, 1).Value
.Execute
For iCounter = 1 To .FoundFiles.Count
iRowT = iRowT + 1
Cells(iRowT, iRow).Value = _
.FoundFiles(iCounter)
Next iCounter
End With
iRow = iRow + 1
Loop
Rows(1).Font.Bold = True
Columns.AutoFit
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Dateinamen auslesen (aus Ordnernamen in Spalte)
08.02.2009 22:19:47
Tino
Hallo,
hier mal ein Beispiel, getestet habe ich diesen jetzt nicht,
da ich den Aufbau Deiner Datei nicht nachgestellt habe.
Sub DateiListe()
Dim wks As Worksheet
Dim iRow As Integer, iCounter As Integer, iRowT As Integer
Dim Fso, Ordner, varDatei
Dim DateiName As String
Set Fso = CreateObject("Scripting.FileSystemObject")

Application.ScreenUpdating = False
   
   Set wks = ActiveSheet
   Workbooks.Add 1
   iRow = 1
   Do Until IsEmpty(wks.Cells(iRow, 1))
    Cells(1, iRow).Value = wks.Cells(iRow, 1).Value
    iRowT = 1
    Set Ordner = Fso.getfolder(wks.Cells(iRow, 1).Value)
       
       For Each varDatei In Ordner.Files
        iRowT = iRowT + 1
        DateiName = _
         Right$(varDatei, Len(varDatei) - InStrRev(varDatei, "\"))
        Cells(iRowT, iRow).Value = DateiName
       Next varDatei
    
    iRow = iRow + 1
   Loop
Rows(1).Font.Bold = True
Columns.AutoFit
Application.ScreenUpdating = True

Set Fso = Nothing
End Sub


Gruß Tino

Anzeige
AW: Dateinamen auslesen (aus Ordnernamen in Spalte)
08.02.2009 23:15:12
Tobias
Vielen Dank !
Allerdings bekomme ich jetzt den Laufzeitfehler 76 (Pfad nicht gefunden)
Eigenartig, denn ich habe im aktiven Tabellenblatt auf A1 xyz stehen und im Ordner wo die Arbeitsmappe liegt, gibt es auch den Ordner /xyz
Da müsste er den Pfad doch finden ?
AW: Dateinamen auslesen (aus Ordnernamen in Spalte)
08.02.2009 23:29:00
Tino
Hallo,
ok. wenn Du nicht den kompletten Pfad in der Zelle stehen hast,
müssen wir den Code etwas erweitern.
Versuche es mal so.
Option Explicit

Sub DateiListe()
Dim wks As Worksheet
Dim iRow As Integer, iCounter As Integer, iRowT As Integer
Dim Fso, Ordner, varDatei
Dim DateiName As String, strPfad As String
Set Fso = CreateObject("Scripting.FileSystemObject")
strPfad = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")

Application.ScreenUpdating = False
   
   Set wks = ActiveSheet
   Workbooks.Add 1
   iRow = 1
   Do Until IsEmpty(wks.Cells(iRow, 1))
    Cells(1, iRow).Value = wks.Cells(iRow, 1).Value
    iRowT = 1
    Set Ordner = Fso.getfolder(strPfad & wks.Cells(iRow, 1).Value)
       
       For Each varDatei In Ordner.Files
        iRowT = iRowT + 1
        DateiName = _
         Right$(varDatei, Len(varDatei) - InStrRev(varDatei, "\"))
        Cells(iRowT, iRow).Value = DateiName
       Next varDatei
    
    iRow = iRow + 1
   Loop
Rows(1).Font.Bold = True
Columns.AutoFit
Application.ScreenUpdating = True

Set Fso = Nothing
End Sub


Gruß Tino

Anzeige

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige