Office: (Office 2016) Per PQ Dateiliste (mit Unterverzeichnissen) erstellen

Helfe beim Thema Per PQ Dateiliste (mit Unterverzeichnissen) erstellen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe noch nicht viel mit PQ gemacht und habe jetzt ein Problem. Ich möchte in einem Excel-Blatt eine Liste mit Dateien aus einem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Hasso, 15. November 2020.

  1. Per PQ Dateiliste (mit Unterverzeichnissen) erstellen


    Hallo,

    ich habe noch nicht viel mit PQ gemacht und habe jetzt ein Problem. Ich möchte in einem Excel-Blatt eine Liste mit Dateien aus einem Verzeichnis mit Unterverzeichnissen erstellen. Als erstes erzeuge ich in einer Batch-Datei mit dem Befehl

    ir D:Bücher*.mp3 *.pdf /s /b /w >D:BücherBücher.txt

    eine Text-Datei, die ich mit Datenimport einlese.
    Dabei brauch ich nur die Dateinamen, nicht die Verzeichnisnamen. Die Dateinamen sollen in einer Spalte stehen.
    Bisher ist mir nur folgendes gelungen:

    Code:
    Das Ergebnis sieht aus wie im Screenshot, d.h. die Dateien stehen je nach Verzeichnis in unterschiedlichen Spalten.

    Was ich nicht verstehe, ist, dass ich es nicht schaffe, direkt das Verzeichnis ohne Umweg über die Textdatei einzulesen. Ich bekomme immer die Meldung

    Auswertung: nicht genügend Arbeitsspeicher. Der Vorgang kann nicht fortgesetzt werden.

    Dabei habe ich 16GB Arbeitsspeicher und in dem Ordner sind insgesamt weniger als 5.000 Dateien.

    :)
     
  2. Hallo Hasso,

    mit Power Query kannst du auch direkt Verzeichnisse auslesen.

    let
    Source = Folder.Files("D: Bücher ")
    Filter_PDF = Table.SelectRows(Source, each ([Extension] = ".pdf"))
    in
    Filter_PDF

    Nach "D:" und nach "Bücher" musst du das Leerzeichen durch einen Backslash ersetzten.
     
  3. Hallo WS-53,
    Ich hatte ja in meinem Post geschildert, dass das bei mir nicht funktioniert - wegen angeblich zu wenig Arbeitsspeicher.
     
  4. Per PQ Dateiliste (mit Unterverzeichnissen) erstellen

    Hallo Hasso,

    du hast dir aber zuerst, außerhalb von Power Query ein .txt-File erstellt. Ich aber habe das Verzeichnis direkt mit Power Query ausgelesen.
     
  5. Hallo WS-53,

    anscheinend gelingt es mir nicht, mich verständlich auszudrücken:

    Ich habe versucht, das Verzeichnis direkt auszulesen, was mir wegen angeblich zu weig Arbeitsspeicher nicht gelang.
    Daraufhin habe ich mit dem DIR-Befehl die Textdatei erzeugt, die ich problemlos in PQ auslesen kann. Allerdings gelingt es mir nicht alle Dateinamen in eine Spalte zu bekommen (wegen der Unterverzeichnisse).
    Jetzt habe ich alle Dateien direkt in ein Verzeichnis (ohne Unterverzeichnisse) gepackt. Nun klappt es wie gewünscht - nur ist meine Verzeichnissstruktur nun nicht mehr vorhanden.
     
  6. Hallo Hasso,

    du schriebst:

    Deswegen habe ich geantwortet:
    Warum der dirkete Versuch bei dir nicht funktioniert, kann ich nicht sagen, da ich kein Verzeiuchnuis habe, mit dem ich das testen könnte.

    Wenn du aber einen Teile deines Textfiles hier hochlädst, dann kann ich dir die PQ-Abfrage vermutlich sio gestalten, dass die Verzeichnisinfo erhalten bleibt.
     
  7. Hallo WS-53

    hier die Textdatei.
     
  8. Per PQ Dateiliste (mit Unterverzeichnissen) erstellen

    Wie wäre es mit Powershell?

    Das sollte die Liste der Dateien in der gewünschten Form erzeugen

    PHP:
             get-childitem <Verzeichnis> -file -recurse|select-object Name
     
    Warkings, 17. November 2020
    #8
  9. Hallo Hasso,

    anbei die aufbereitete Mappe. Da es PQ auch erlaubt, Spalten von rechts zu trennen, war es ganz einfach. Das zählen der Vereichnisebenen habe ich zwar nicht benötigt, aber wie du sehen kannst, geht auch dies ganz einfach.
     
  10. Hallo Hasso,

    warum nicht mit einem kleinen Makro?

    Option Explicit

    Public Sub Beispiel()
    Const FOLDER_PATH As String = "G:\Eigene Dateien\" 'Anpassen !!!
    Dim astrFolders() As String, strFilename As String
    Dim ialngFolders As Long, lngRow As Long
    Dim avntTemp As Variant
    lngRow = 2
    astrFolders = GetFolders(FOLDER_PATH)
    For ialngFolders = LBound(astrFolders) To UBound(astrFolders)
    strFilename = Dir$(astrFolders(ialngFolders) & "*.pdf")
    Do Until strFilename = vbNullString
    avntTemp = Split(Replace(astrFolders(ialngFolders) & _
    strFilename, FOLDER_PATH, vbNullString), "\")
    Cells(lngRow, 1).Resize(1, UBound(avntTemp) + 1).Value = avntTemp
    lngRow = lngRow + 1
    strFilename = Dir$
    Loop
    Next
    End Sub

    Private Function GetFolders(ByVal pvstrPath As String) As String()
    Dim astrFolders() As String
    Dim strFolder As String, strPath As String
    Dim ialngIndex1 As Long, ialngIndex2 As Long
    Redim Preserve astrFolders(ialngIndex1)
    astrFolders(ialngIndex1) = pvstrPath
    ialngIndex1 = 1
    ialngIndex2 = 1
    strPath = pvstrPath
    Do
    strFolder = Dir$(PathName:=strPath & "*", Attributes:=vbDirectory)
    Do Until strFolder = vbNullString
    If strFolder <> "." And strFolder <> ".." Then
    If GetAttr(PathName:=strPath & strFolder) And vbDirectory Then
    Redim Preserve astrFolders(0 To ialngIndex1)
    astrFolders(ialngIndex1) = strPath & strFolder & "\"
    ialngIndex1 = ialngIndex1 + 1
    End If
    End If
    strFolder = Dir$
    Loop
    If ialngIndex1 = ialngIndex2 Then Exit Do
    strPath = astrFolders(ialngIndex2)
    ialngIndex2 = ialngIndex2 + 1
    Loop
    GetFolders = astrFolders
    End Function
     
  11. Hallo WS-53,

    danke vielmals!
     
  12. Hallo Nepomuk,

    dein Makro läuft bei mir auf den Fehler "Datei nicht gefunden" und zwar in der Zeile Code:
    in der Function.
    Da die PQ-Lösung von WS-53 problemlos funktioniert, werde ich diese verwenden.

    Trotzdem vielen Dank für deine Bemühung!
     
  13. Per PQ Dateiliste (mit Unterverzeichnissen) erstellen

    Hallo Hasso,

    dann hast du den abschließenden Backslash in der Konstanten "FOLDER_PATH" gelöscht.
     
  14. Hallo Nepomuk,

    nein, das habe ich nicht. Ich denke, es liegt an der Kodierung der Dateinamen in der txt-Datei
     
  15. Hallo Hasso,

    ich lese nicht die Textdatei sondern die Ordner selbst. In der Konstanten sollte also:

    D:\Bücher\

    stehen
     
Thema:

Per PQ Dateiliste (mit Unterverzeichnissen) erstellen

Die Seite wird geladen...
  1. Per PQ Dateiliste (mit Unterverzeichnissen) erstellen - Similar Threads - Dateiliste Unterverzeichnissen erstellen

  2. Dateiliste erstellen mit Hyperlink und wert aus einer bestimmten Zelle hinzufügen

    in Microsoft Excel Hilfe
    Dateiliste erstellen mit Hyperlink und wert aus einer bestimmten Zelle hinzufügen: Hallo zusammen, mein Problem ist folgendes: ich habe eine Exceldatei zur Projektübersicht erstellt. Jeder neue Kunde ist ein neues Projekt und wird über Makro in einem Ordner unter einen...
  3. Outlook unterverzeichnisse

    in Microsoft Excel Hilfe
    Outlook unterverzeichnisse: Hallo zusammen, hab da doch wieder mal ein kleines Problem(chen) Ich habe ein script in dem ich alle Mails aus einem OutlookVerzeichnis (welches ich auswählen kann (Set Ordner =...
  4. Hilfe bei Erstellung eines Zeugnisformulars (Bereichsbreite; Unterstreichungen)

    in Microsoft Access Hilfe
    Hilfe bei Erstellung eines Zeugnisformulars (Bereichsbreite; Unterstreichungen): Hallo an alle und schon einmal vielen Dank, dass ihr den Thread überhaupt angeklickt habt. Vorweg: Ich bin absoluter Anfänger in Sachen Access und habe von Programmierung überhaupt keine Ahnung....
  5. Eingabemaske für mehrere Arbeitsblätter erstellen

    in Microsoft Excel Hilfe
    Eingabemaske für mehrere Arbeitsblätter erstellen: Hallo, ich möchte eine Eingabemaske für Datensätze (Text) zur Verteilung auf verschiedene Arbeitsblätter in einer Mappe erstellen. Es sollen auch Felder zum Abhaken dabei sein und alle Blätter...
  6. Outlook Regel erstellen für das bearbeiten nach dem Senden

    in Microsoft Outlook Hilfe
    Outlook Regel erstellen für das bearbeiten nach dem Senden: Moin zusammen, ich benutze Outlook 2019. Mein Problem ist das ich eine Regel aktiviert habe, die nach dem Senden meine Nachrichten Nachverfolgen soll. Leider hat sich jetzt herausgestellt, dass...
  7. Outlook IMAP lokalen Ordner erstellen

    in Microsoft Outlook Hilfe
    Outlook IMAP lokalen Ordner erstellen: Hallo, mein Webmail-Postfach läuft langsam voll, aber ich möchte keine E-Mails löschen. Wie kann ich die lokal auf meinem Rechner speichern? Immer wenn ich in Outlook (IMAP) einen neuen Ordner...
  8. Prozessformulare erstellen

    in Microsoft Word Hilfe
    Prozessformulare erstellen: Hallo zusammen, Ich arbeite als Praktikant in einer Rechtsabteilung und soll nun Standardvorlagen für Verträge erstellen. Dabei habe ich mir überlegt, ob es irgendwie möglich ist, die Personalien...