Power Query „Quickies” Dateien eines Verzeichnisses

Quickie: Alle Dateien eines Verzeichnisses
in eine Liste/Tabelle


Hin­weis: Die Arbeitss­chritte dieses Beitrages sind in einem kleinen Video doku­men­tiert. Das unter­stützende Begleit-Video find­en Sie auf YouTube an dieser Stelle.


Mit VBA/Makro gibt es ver­schiedene Möglichkeit­en, die Dateien eines Verze­ich­niss­es ‑mit oder ohne Unter­verze­ich­nisse- einzule­sen und in ein­er Liste oder Tabelle auszugeben. In den meis­ten Fällen beschränkt sich die dargestellte Infor­ma­tion auf den Pfad und den File­na­men. Mit Pow­er Query kön­nen Sie ohne eine Zeile Code diese Infor­ma­tio­nen sowie einige Meta-Dat­en in ein Tabel­len­blatt über­tra­gen.

Das anfängliche Vorge­hen ist immer gle­ich:

  • Aktivieren Sie die Pow­er Query Funk­tion­al­ität über den Menüpunkt gle­ichen Namens oder das Menü Dat­en.
  • Aus Datei | Aus Ord­ner
  • Geben Sie im Dialogfen­ster entwed­er den Pfad der ober­sten Ebene für die gewün­schte Date­naus­gabe an oder Klick­en Sie auf die Schalt­fläche Durch­suchen… um über den typ­is­chen Win­dows-Dia­log den Fold­er auszusuchen.

Nach kurz­er Wartezeit öffnet sich ein Fen­ster wo die ersten Ein­träge aus Grün­den der Kon­trolle angezeigt wer­den. Da im End­ef­fekt nicht alle Spal­ten über­nom­men wer­den sollen, ein Klick auf die Schalt­fläche Bear­beit­en. Danach öffnet sich der Abfrage-Edi­tor, wo dann auch erhe­blich mehr Zeilen angezeigt wer­den.

Mit Sicher­heit wer­den nicht alle Spal­ten für die Anzeige in der Tabelle benötigt. Dazu gehört die erste Spalte Con­tent. Ein Recht­sklick in die Über­schrift und im Kon­textmenü den zweit­en Ein­trag Ent­fer­nen auswählen. Sofort wird diese Spalte gelöscht. Gle­ich­es Vorge­hen oder Linksklick in die Über­schrift der Spalte Attrib­ut­es und dann Entf, auch die Spalte wird nicht benötigt.

Prinzip­iell kön­nten Sie diese Darstel­lung so wie sie ist übernehmen. Aber was in manchen Fällen ganz hil­fre­ich sein kann: In ein­er Zelle soll­ten Pfad und Dateiname in der typ­is­chen Schreib­weise aufgezeigt wer­den. Also beispiel­sweise C:\Windows\Explorer.exe. Das ließe sich in ein­er ganz nor­malen Win­dows Tabelle ganz ein­fach durch Ver­ket­ten() oder die Verknüp­fung mit dem & lösen. Aber es ist bess­er, Prob­leme an der Wurzel zu pack­en. Und da bietet Pow­er Query dur­chaus eine ein­fache Möglichkeit:

  • Markieren Sie erforder­lichen­falls durch einen Klick in die Über­schrift die Spalte mit der Über­schrift Fold­er Path.
  • Wech­seln Sie in das Menü Spalte hinzufü­gen
  • In der Gruppe All­ge­mein auf den Menüpunkt Dop­pelte Spalte Klick­en, die Spalte wird umge­hend dupliziert.
  • Gle­ich­es Vorge­hen bitte bei der Spalte Name, also auch diese ver­dop­peln. Das Dup­likat wird als let­zte Spalte, nicht direkt neben der Ursprungs-Spalte ange­fügt.

Die let­zten bei­den Spal­ten sind ja schon in der richti­gen Rei­hen­folge und enthal­ten auch die gewün­scht­en Infor­ma­tio­nen. Eigentlich müssen jet­zt nur noch bei­de Spal­ten markiert und zusam­menge­führt wer­den. Da die let­zte Spalte schon markiert ist brauch eigentlich nur noch per Taste Shift oder Strg die Spalte mit dem Pfad markiert wer­den. „Eigentlich ja” heißt aber auch oft „eigentlich nein”. Hier ist die Rei­hen­folge der Markierung extrem wichtig. Die Spalte, die sie zuerst markieren wird bei der Zusam­men­fas­sung auch zuerst dargestellt. Das bedeutet: Sie markieren zuerst die Spalte mit dem Path und anschließend die Spalte mit dem Dateina­men. Danach wech­seln Sie in das Menü Trans­formieren, Gruppe Beliebige Spalte Auswahl Spal­ten zusam­men­führen.

Es öffnet sich ein Dialogfen­ster. Bei Trennze­ichen ist –Kein– vorgegeben, das kann so bleiben, weil die bei­den Spal­ten ja ohne ein tren­nen­des Zeichen direkt aneinan­derge­hängt wer­den sollen. Im darun­ter­liegen­den leeren Textfeld Neuer Spal­tenname (option­al) ste­ht bere­its ein Spal­tenname: Zusam­menge­führt. Der kön­nte zwar so bleiben, aber beispiel­sweise Full Path (oder ein entsprechen­der deutsch­er Name) ist doch viel aus­sagekräftiger. Darum gle­ich an dieser Stelle entsprechend ändern und anschließend mit OK bestäti­gen..

Eigentlich ist damit die Auf­gabe gelöst. Als kleinen Bon­bon wer­den sie jet­zt aus den vie­len Zeilen und Ein­trä­gen beispiel­sweise die wichtig­sten edi­tier­baren Files her­aus­fil­tern. Das sind Text­dateien, Files mit der Endung *.txt*.xml als auch *.ini. Dazu Klick­en Sie in der Spalte Exten­sion auf den Drop­down-Pfeil und wählen in der Auflis­tung unten nur diese 3 Date­itypen aus. Nach ein­er Bestä­ti­gung mit dem OK-But­ton vielle­icht noch einen Klick auf das Fil­ter­sym­bol der gle­ichen Spalte, und die Ein­träge alpha­betisch auf­steigend sortieren lassen.

Das war’s, diese Quick­ie-Auf­gabe ist damit mehr als erfüllt. Sie wer­den im Nor­mal­fall diese Abfrage noch um all jene Spal­ten bere­ini­gen, die sie in der Auflis­tung nicht brauchen. Zum über­tra­gen in das Excel-Arbeits­blatt ein Klick auf das Menü Datei und das Ele­ment Schließen & laden in anklick­en. Alter­na­tiv wäre auch ein Wech­sel zum Start-Menü und dort den entsprechen­den But­ton möglich gewe­sen. Nun noch statt des neuen Arbeits­blatts Vorhan­denes Arbeits­blatt wählen und es bei der Posi­tion $A$1 im Textfeld darunter belassen. Dadurch wird das Ergeb­nis der Abfrage in das aktuelle Blatt geschrieben. – Da noch alles markiert ist, der Optik wegen die Tas­tenkom­bi­na­tion StrgPos1, dann sieht das ganze recht pos­i­tiv aus. 😉 

▲ nach oben …

Ref­er­ence: #4056

Dieser Beitrag wurde unter File-Handling, Filtern & Sortieren, Ohne Makro/VBA, Power Query, PQ-Quickies abgelegt und mit , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.