Dateiliste im Excel erstellen

Dieses Thema Dateiliste im Excel erstellen im Forum "Microsoft Office Suite" wurde erstellt von Oktavia, 2. Nov. 2004.

Thema: Dateiliste im Excel erstellen Ich habe einen Ordner mit ca. 500 Dateien. Nun muss ich davon eine druckfähige Liste (möglichst mit Excel)...

  1. Ich habe einen Ordner mit ca. 500 Dateien. Nun muss ich davon eine druckfähige Liste (möglichst mit Excel) erstellen. wie stelle ich das , mit möglichst wenig Tipparbeit, an?

    Vielen Dank im voraus
    Oktavia
     
  2. Hi Oktavia,

    Du könntest z.B. den unten aufgefühten Makro benutzen ;D

    Makro zum Auflisten der Files eines Directories

    Die Ausgabe erfolgt in einem neu angelegten Blatt
    a) mit Auswahl des Pfades
    b) mit Abfrage des Filters für Dateinamen (z.B. *.TXT)
    c) mit Auswahl Ausgabe mit komplettem Pfad oder nur Dateiname
    d) der Dateiname des aktuellen Dokumentes wird in der Ausgabe unterdrückt

    Gruß Matjes ;)

    Code:
    Option Explicit
    ' Typdeklaration für API-Dialog->Verzeichnis auswählen'
        Private Type BrowseInfo
            hOwner          As Long
            pidlRoot        As Long
            pszDisplayName  As String
            lpszTitle       As String
            ulFlags         As Long
            lpfn            As Long
            lParam          As Long
            iImage          As Long
        End Type
    
        Private Declare Function SHGetPathFromIDList Lib shell32.dll (ByVal pidl As Long, ByVal pszPath As String) As Long
        Private Declare Function SHBrowseForFolder Lib shell32.dll (lpBrowseInfo As BrowseInfo) As Long
    
    ' Ermittelt Verzeichnisnamen und zeigt Windows-Dialog an
    Public Function VerzeichnisWählen(Optional DialogTitel) As String
        Dim StrukturVerzeichnisInfo As BrowseInfo, ListenNr As Long, Pfad As String
        Dim hWndAccessApp As Long
      
        With StrukturVerzeichnisInfo
            .hOwner = hWndAccessApp
            .lpszTitle = IIf(IsMissing(DialogTitel), Verzeichnispfad auswählen, CStr(DialogTitel))
            .ulFlags = &H1-> BIF_RETURNONLYFSDIRS
        End With
        
        ListenNr = SHBrowseForFolder(StrukturVerzeichnisInfo)
        Pfad = Space$(512)
        
        If SHGetPathFromIDList(ByVal ListenNr, ByVal Pfad) Then VerzeichnisWählen = Left(Pfad, InStr(Pfad, vbNullChar) - 1)
        
    End Function
    
    
    
    Public Sub FilesAusVerzeichnisInTabellenblatt()
    'Makro zum Auflisten der Files eines Directories
    
    'Die Ausgabe erfolgt in einem neu angelegten Blatt
    
    'a) mit Auswahl des Pfades
    'b) mit Abfrage des Filters für Dateinamen (z.B. ATI*.SYS)
    'c) mit Auswahl Ausgabe mit komplettem Pfad oder nur Dateiname
    'd) der Dateiname des aktuellen Dokumentes wird in der Ausgabe unterdrückt
    
    Dim ws As Worksheet
    Dim fs As FileSearch
    Dim i As Long, z As Long
    Dim sPath As String, sname As String, s_tmp As String, sSuchpfad As String, sFilename As String
    Dim b_mitPfadangabe  ->True= Dokument mit Pfadangabe , false=ohne
    Dim ret As Integer
    
     -> Auswahl des Pfades
      sSuchpfad = VerzeichnisWählen(Bitte wählen Sie das Verzeichnis)
    
      If sSuchpfad =  Then
        ret = MsgBox(Es wurde kein Suchpfad eingegeben ! & vbCrLf & Der Makro wird beendet., _
                vbOKOnly + vbInformation, Kein Suchpfad ausgewählt)
      Else
        
       ->Wahl: Ausgabe mit Pfadnamen oder ohne
        ret = MsgBox(Wollen Sie die Ausgabe der Filenamen mit komplettem Pfad ?, _
              vbQuestion + vbYesNo, Auswahl Pfad: komplett <> nur filename)
        If ret = vbYes Then
          b_mitPfadangabe = True
        Else
          b_mitPfadangabe = False
        End If
    
       ->Wahl: Filename
        sFilename = InputBox(Geben Sie bitte den Filter für Filenamen ein !, Eingabe Filter Filname, *.xls)
        If sFilename =  Then sFilename = *.*
    
        sPath = ActiveWorkbook.Path->Pfad des Dokuments
        sname = ActiveWorkbook.Name->Name des Dokuments
          
       ->neues Blatt anlegen
        Worksheets.Add After:=Worksheets(Worksheets.Count)
        Set ws = Worksheets(Worksheets.Count)
       ->Zeilenzähler für nächsten Eintrag initialisieren
        z = 1
       ->Überschrift
        ws.Cells(z, 1).Value = folgende Dokumente befinden sich im Pfad  & sSuchpfad
        ws.Cells(z, 1).Font.Bold = True
        z = z + 2->Zeilenzaehler für naechsten Eintrag erhöhen
         
        ws.Cells(z, 1).Value = Filenamen
        ws.Cells(z, 1).Font.Bold = True
        z = z + 1->Zeilenzaehler für naechsten Eintrag erhöhen
         
       ->Filenamen aus dem Directory sPath auflisten
         Set fs = Application.FileSearch
         
         With fs
            .NewSearch
            .LookIn = sSuchpfad
            .FileName = sFilename
            i = .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending)
            If .FoundFiles.Count > 0 Then
              For i = 1 To .FoundFiles.Count
                If .FoundFiles(i) <> (sPath & \ & sname) Then->nicht dieses Dokument
                  s_tmp = .FoundFiles(i)
                  If b_mitPfadangabe Then
                    ws.Cells(z, 1).Value = s_tmp->mit Pfad
                  Else
                    ws.Cells(z, 1).Value = NurFilenamen(s_tmp)->ohne Pfad
                  End If
                  z = z + 1->Zeilenzaehler für naechsten Eintrag erhöhen
                End If
              Next i
            Else
              ws.Cells(z, 1).Value = kein File vorhanden !!!
              MsgBox Keine Dokumente gefunden
            End If
         End With
         ws.Columns(1).AutoFit
      End If
    End Sub
    Private Function NurFilenamen(s_vollstaendigerFilename As String) As String
    'schneidet die Pfadangaben aus einem String und gibt den Filenamen zurueck
    Dim p1 As Integer, p2 As Integer
    
      p2 = 0: p1 = 0
      Do
        p1 = InStr(p1 + 1, s_vollstaendigerFilename, \)
        If p1 <> 0 Then p2 = p1
      Loop While p1 <> 0
      NurFilenamen = Right(s_vollstaendigerFilename, Len(s_vollstaendigerFilename) - p2)
    End Function
     
  3. Mmh, Ääähhh.... *stotter*
    Schlimm, wenn ich jetzt nicht so wirklich weiss, was Du meinst?
    Gibts vielleicht ne `verständlichere`Lösung?

    LG Oktavia
     
  4. Hallo Oktavia,

    so wie es scheint hast Du noch nie einen Excel-Makro benutzt/erstellt.

    Dann hier die Kurzanleitung:
    Code:
    1) neu Excel-Datei öffnen
    2) VB-Ediotr öffnen Alt+F11
    Links siehst Du ein Fenster mit der Überschrift Projekt-VBA-Project.
    In diesem Fenster ist die neue Arbeitsmappe unter dem Namen VBAProject(Mappe1) zu finden.
    3) VBA-Modul anlegen mit
    3a) VBAProject(Mappe1) mit der Maus selektieren
    3b) rechte Maustaste -> Einfügen -> Modul
    in der Mitte geht das Code-Fenster Mappe1-Modul1(Code) auf
    4) den gesamten Code per copy und Paste in dieses Fenster hineinkopieren
    5) VB-Editor schliessen mit Alt+Q
    6) Excel-Datei speichern, z.B. als->Makro_Dateiliste.xls'
    
    7) eine weiter neue Excel-Datei öffnen (Datei-Neu)
    8) Makro FilesAusVerzeichnisInTabellenblatt aufrufen
    a) mit Alt+F8 Makroauswahl öffnen
    b) Doppelklick auf den Eintrag FilesAusVerzeichnisInTabellenblatt 
    
    Jetzt läuft der Makro und fragt die optionen ab :-)
    
    Für den Filter mußt Du *.* angeben, wenn du alle Dateien des ausgewählten Verzeichnisses auflisten willst.
    
    Kannst es auch mehrere Male durchführen. Für jeden Durchgang wird ein neues Blatt angelegt.
    
    9) Liste nach eigenen Wünschen formatieren und speichern.
    
    
    
    Wenn du den Makro irgendwann einmal wieder brauchst, einfach die Datei Makro_Dateiliste.xls öffnen. Dort ist der Makro gespeichert.
    So ich hoffe das reicht aus. Wenn nicht, einfach nochmal nachfragen.

    Gruß Matjes :)
     
  5. Klasse!! Das erspart mir ne Menge Tiparbeit.
    Ich hab grad mal nen Probelauf gestartet und das hingekriegt.
    Dankeschön :D

    Oktavia
     
Die Seite wird geladen...

Dateiliste im Excel erstellen - Ähnliche Themen

Forum Datum
Ordner-/Dateiliste aus WinExplorer in .xls oder .doc "exportieren" - geht das? Windows Vista Forum 5. Feb. 2011
Ordnerstruktur / Dateilisten exportieren Windows XP Forum 9. Juni 2007
Excel-Feature gesucht Microsoft Office Suite 11. Okt. 2016
Excel Tabelle Werte zu ordnen Microsoft Office Suite 23. Sep. 2016
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016