Skip to main content
Amateurfunk verbindet die Welt

Dateilisten mit Excel

Erstellt: DL6GL, 10.01.2025, letzte Änderung: 12.01.2025

Update V1.01: Hab' noch was übersehen, sorry. V1.01 im Download.

Für die Übersicht über Dateien und Verzeichnisse ist normalerweise der Windows-Explorer oder ein anderer Dateimanager zuständig. Das Auffinden Dateien in stark verästelten Verzeichnissen kann dann anstrengend werden, wenn es um solche mit einem bestimmten Namen, Dateityp oder aus einem gewissen Zeitraum geht. Eine erneute Suche zu einem späteren Zeitpunkt nervt dann nur noch.

Nach den Excel-Sheets zur Auslegung von LC-Filtern vom Herbst 2024 war ich wieder so in Übung, mir eine damals im QRL zur Organisation von Unterlagen zu Kundenprojekten entstandene Excel-Anwendung mal vorzunehmen. Nun war Muße, das Excel-Programm in einen ansehnlicheren Zustand zu bringen.

Designziele waren:

  • Komfortable Auswahl eines bestimmten Verzeichnisses oder Auswahl aus einer Liste aktuell bevorzugter Verzeichnisse ("Favorite folders") zur Dateisuche. Der mittlerweile in Excel VBA verfügbare "Folder picker" war damals nur mit Windows-API's nachzubilden.
  • Festlegung von Suchkriterien wie
    • Beschränkung auf festlegbare Verzeichnisebenen, z.B. nur das gewählte Verzeichnis, dieses und die 1, 2, 3, … untergeordneten Verzeichnisse oder auch alle,
    • Dateidatum von / bis oder auch unbeschränkt,
    • Bestimmte Dateiendungen (Extensions) oder auch alle,
    • Teil des Dateinamens.
  • Gefundene Dateien mit Hyperlinks zum sofortigen Öffnen aus der Liste heraus.
  • Möglichst wenige Tastatureingaben, und wenn doch, Absicherung gegen Fehleingaben.
    Dazu werden, wo immer möglich, vordefinierte Daten über Auswahlfelder angeboten.
  • Kompatibilität mit neueren Versionen von MS Excel, mindestens ab MS Excel 2007.
    Entwickelt wurde mit MS Excel 2019 (32 Bit). Mit 64 Bit-Versionen von Excel sollte es auch funktionieren, nachdem aus dem ursprünglichen VBA-Code alle für eine schnelle Dateisuche verwendeten API-Aufrufe durch das "File System Object" (FSO) ersetzt wurden. Das zusätzliche Aktivieren eines Verweises auf die Microsoft Scripting Runtime ist nicht erforderlich. Die standardmäßig in Excel aktivierten Verweise reichen aus.
  • Programmierung in Excel VBA. Dazu müssen die aktiven Inhalte (Makros) aktiviert werden. Der VBA-Code ist ungeschützt einsehbar.


Aufbau der Excel-Arbeitsmappe

Die Arbeitsmappe enthält drei Tabellen:

  1. Tabelle "FileList": Dateiliste mit den Suchparametern im Tabellenkopf (Abb. 1).
  2. Tabelle "Data": Daten für Auswahlfelder (Abb. 3). Diese sind frei parametrierbar.
  3. Tabelle "FolderList": Vordefinierte Pfade zu den bevorzugten Verzeichnissen und zum Verzeichnis, in das die Dateiliste umgespeichert werden kann (Abb. 4 und 5).
    Die Verzeichnisse sind über Eingabemasken konfigurierbar.

Eine detaillierte Beschreibung ist im Download zu finden.


 1      Tabelle "FileList", Dateiliste

Excel-Dateiliste

Abb. 1: Dateiliste (Ausschnitt).

Das für die Suche maßgebliche Dateidatum ist das der letzten Änderung ("Date last modified"). Das Jahre danach liegende "Date created" in Abb. 1 ist das Datum der Umspeicherung auf einen neuen Computer.

Schaltflächen (Buttons) rechts oben:

  • Set Search data: Eingabemaske (Abb. 2) zur Konfiguration der Dateisuche öffnen. Erscheint mit dem Öffnen der Excel-Datei automatisch.
  • Copy this sheet: Die Dateiliste in ein festgelegtes Verzeichnis, bereinigt vom VBA-Code und ohne die Buttons, mit wählbarem Namen als .xlsx abspeichern.

Dateiliste Eingabemaske

Abb. 2: Eingabemaske für die Dateisuche.

Nach Auswahl eines Verzeichnisses werden die Suchparameter für die Dateisuche vorbesetzt, u.a. mit

  • dem aktuellen Monat vom ersten bis zum aktuellen Tag für die freie Verzeichnisauswahl ("Get another folder"),
  • nach der Auswahl aus der Liste vordefinierter Verzeichnisse (Favorite folders) dem in der Tabelle "FolderList" für dieses Verzeichnis festgelegten Datum von / bis (Abb. 4).

Die Suchparameter können anschließend angepasst werden.

Klick auf den Button "List files in folders" stößt die Suche und Anzeige an. Die eingestellten Suchparameter werden im Tabellenkopf der Dateiliste (Abb. 1) angezeigt.


2      Tabelle "Data" (Ausschnitt)

Sheet Data

Abb. 3: Tabelle "Data" (Ausschnitt).

  • ExtList (Extensions): Die in dem Auswahlfeld in der Eingabemaske gezeigten Dateiendungen werden hier parametriert. Reduzierungen oder Erweiterungen sind möglich. Mit Klick auf "Sort extensions" wird die Liste nach der linken Spalte sortiert, ggf. entstandene Lücken infolge Löschungen werden zusammengeschoben.
  • FolderLevels (Verzeichnisebenen): Zur Auswahl angebotene Verzeichnisebenen.
  • ExHtml (htm/html-fies): Einstellungen zur Unterdrückung von Dateien in htm/html-Unterverzeichnissen.
    In deutschsprachigen Systemen endet das Unterverzeichnis eines htm/html-Files i.d.R. mit
     "-Dateien" oder "_Dateien", in englischsprachigen "-files" oder "_files".
     Die eingetragenen Varianten mit Binde- oder Unterstrich werden berücksichtigt


3      Tabelle "FolderList" (Ausschnitt)

Sheet Folderlist

Abb. 4: Tabelle "FolderList" (Ausschnitt) mit Eingabemaske.

Die hier festgelegten bevorzugten Verzeichnisse (Favorite folders) werden in der Eingabemaske (Abb. 2) zur Auswahl angeboten. Die zusätzlichen Daten wie folder levels bis zu den File-Daten werden nach Auswahl des Verzeichnisses in die Eingabemaske übernommen.

Sheet Folderlist

Abb. 5: Tabelle "FolderList", Verzeichnis zum Abspeichern der Dateiliste.

Bis auf die in Tabelle "Data" vordefinierten Daten sind die oben gezeigten Verzeichniseinträge gelöscht. Mit dem erstmaligen Gebrauch sind sie daher noch vorzunehmen. Das Programm gibt jeweils Hinweise auf nicht vorhandene Verzeichnisse.

Sollte es mal haken, Erste Hilfe "Excel-Entwicklertools..."  im Download, ansonsten kurze eMail.

 

Download

Dateilisten mit MS Excel.pdf

Excel_Filelist.xlsm (V1.01)

Excel-Entwicklertools Visual Basic.pdf