Auswertung von Filter-Charts
Erstellt: DL6GL, 11.04.2025, letzte Änderung:
« Auslegung von TX-Oberwellenfiltern | Top | » |
Diese Excel-Anwendung wurde entworfen, um an den mit den Excel-Programmen zur Auslegung von Bandfiltern oder Hoch-Tiefpässen angefertigten Charts eine Bewertung und Auswahl verschiedener Berechnungen vorzunehmen. Hier wurde möglicherweise eine Anzahl von Versuchen als pdf-Dateien abgespeichert. Ausdrucken, auf dem Tisch ausbreiten, bewerten und vergleichen wäre eine wenn auch nicht gerade ressourcenschonende Möglichkeit.
Wie wäre es, auf Ausdrucke zu verzichten und die Dokumente, etwa eine Auswahl von pdf-Files, stattdessen auf dem Monitor zu betrachten? Was dabei allerdings nervt, ist das ständige hin und her mit der Maus oder auf dem Mousepad im Explorer und zwischen den einzelnen Dateifenstern. Die gängigen pdf-Viewer wie Adobe Reader und Foxit Reader zeigen in der Standardeinstellung zwar alle geöffneten Dateien in einem Fenster, in den einzelnen Registern aber nur den verstümmelten Anfang der Dateinamen. Dies lässt sich auf Einzeldarstellung ändern, aber dann muss man sich durch die verschiedenen Dateifenster hangeln. Eine nachvollziehbare Dokumentation der Bewertungsergebnisse bleibt damit aber immer noch offen.
Das war der Anlass, eine Alternative zu programmieren, die von einem Formular aus mit nur wenigen Mausbewegungen das alles etwas bedienungsfreundlicher macht. Zu aller erst nur als Viewer für die o.g. pdf-Charts gedacht, lassen sich damit auch Serien anderer Dokumentenarten komfortabel zur Anzeige bringen.
Mit den VBA-Bordmitteln kommt man da aber nicht weit. Einige Windows API-Funktionen (Application Programming Interface, Schnittstelle zu Windows) habe ich mir ausgeliehen, um per Mausklick auf einzelne Buttons Dateien zu öffnen, anzuzeigen, auszublenden und zu schließen. Wollte doch mal sehen, ob ich an frühere Zeiten wieder anknüpfen konnte.
Da ab MS Excel 2010 32 Bit oder 64 Bit Version verfügbar sind, wurden entsprechende Vorkehrungen getroffen, zweigleisig zu fahren. Zwar entwickelt mit Excel 2019 32 Bit, sollte die Anwendung auch mit einem 64 Bit Excel laufen, wenn ich alles richtig gemacht habe. Vielleicht ist ein 64 Bit-Anwender so nett, mir von seinen Erfahrungen zu berichten.
Die Arbeitsmappe besteht aus drei Blättern:
- DocList
Liste der Dateien entsprechend der in einem Formular festgelegten Suchkriterien.
Das Formular wird mit 'Get document files' aufgerufen.
Mit 'Get folder' wird das Suchverzeichnis festgelegt. - Notes
Kopie der Dateiliste mit einer zusätzlichen Spalte für Bewertungskommentare zu den einzelnen Dateien. - Data
Festlegung von vorzusehenden Dateiendungen (Extensions) für anzuzeigende Dateien und von Dateiendungen, die bei der Suche übergangen werden, u.a. ausführbare Dateien wie exe‘.
1 Dateiliste 'DocList'
Abb. 1: Sheet 'DocList'.
Dieses Sheet wird mit dem Öffnen der Excel-Arbeitsmappe angezeigt.
- Get Folder (Verzeichnis lokalisieren)
Verzeichnis, in dem die gewünschten Dokumente gespeichert sind. Dieses wird auch in das Formular (Abb. 2) übernommen. - Get document files (Dokumente auflisten)
Öffnet das Formular (Abb. 2). Vor dem Öffnen wird geprüft, ob das Verzeichnis vorhanden ist. Wenn nicht, ist es zunächst über den Button 'Get Folder' (1) zu holen.
Das zentrale Steuerungsformular
Abb. 2: Formular zum Anzeigen der Dokumente.
Für einen besseren Überblick ist es vorteilhaft, zu Anfang das Formular an den rechten oberen Rand des Bildschirms zu schieben, um Platz für die angezeigten Dateien auf der linken Seite zu schaffen. Das Verhalten des Formulars kann mit der Option (12), s.u., verändert werden.
- Extension (Dateiendung)
Auswahlfeld mit den in Sheet 'Data' festgelegten Extensions.
'all‘ (alle Dateiendungen) macht keine Einschränkungen bis aus die in Sheet 'Data‘ festgelegten Ausschlüsse.
- Date from (Dateidatum von)
Nur Dateien ab diesem Änderungsdatum auflisten. Bleibt das Feld leer, wird keine Auswahl nach 'Date from' vorgenommen.
- Date to (Dateidatum bis)
Nur Dateien bis zu diesem Änderungsdatum auflisten. Bleibt das Feld leer, werden alle Dateien bis zum jeweils aktuellen Datum aufgelistet.
- Folder (Verzeichnis)
Wird aus dem Sheet 'DocList' (Abb. 1) übernommen.
- Get another folder (Anderes Verzeichnis lokalisieren)
Wenn für die Auswertung in diesem Formular ein anderes Verzeichnis gewünscht ist, kann es hier lokalisiert werden.
Falls noch Dateien des alten Verzeichnisses offen sind oder sie Kommentare erhalten haben, erfolgt eine Sicherheitsabfrage.
- Get files (Dateien auflisten)
Alle Dateien mit den Auswahlkriterien (1) bis (4) werden im Sheet 'DocList' (Abb. 1), im Sheet 'Notes' und in der Liste 'Files' (7) nach aufsteigendem Änderungsdatum und innerhalb dieses Datums nach Filename sortiert aufgelistet.
- Files (Liste der Dateien)
Die gewünschte Datei in der Liste mit dem Maus markieren. Erscheint dann im Feld 'Selected file'.
- Information on selected file (Informationen zur ausgewählten Datei)
List index:
Fortlaufende Zeilennummer in der Liste 'Files' ab # 0.
Sheet row:
Zeilennummer dieser Datei in Sheet 'DocList'.
Open:
= 0: Datei ist geschlossen, = 1: Datei ist geöffnet.
Window hwnd: Identifikationsnummer (Handle) des Fensters der Datei = 0
Wenn die Datei noch nicht geöffnet wurde oder wenn einer geöffneten Datei kein Handle zugeordnet werden konnte.
=1234...
Handle einer geöffneten Datei.
Über diesen Handle werden alle Dateioperationen vorgenommen. - Dateioperationen
Alle (!) Dateioperationen werden über die vier nachfolgenden Buttons ausgeführt. Insbesondere ist zu vermeiden, eine Datei über das "X" oben rechts im Fenster der angezeigten Datei zu schließen. Damit würden Datei-Status und Window Handle im Formular und im Sheet 'DocList' nicht aktualisiert. - Comment (Kommentar)
Zur Beurteilung des ausgewählten Dokuments können hier Bemerkungen eingetragen werden, etwa "Bandbreite ist um 100 kHz zu schmal" bei einem Filter-Chart. Die Eingabe mit 'Enter' oder 'Tab' abschließen, aktiviert die Buttons 'Add comment' und 'Del comment'.
- Add comment (Kommentar zufügen) Dieser Kommentar wird in Sheet 'Notes' zu der jeweiligen Datei eingetragen.
Del comment: Kommentar löschen.
- Form in normal view (Normales Verhalten des Formulars)
In der vorbesetzten Einstellung wird das Formular immer vor dem Tabellenblatt angezeigt. Wird ein Dokument geöffnet, verdeckt dieses ganz oder teilweise das Formular.
Ein Klick auf den Button ändert die Voreinstellung auf "Form permanently on top".
Das Formular wird nun über allen Fenstern angezeigt, um alle Bedienelemente verfügbar zu halten.
Ein nochmaliger Klick auf den Button setzt auf die Normaleinstellung zurück
- Close form (Formular schließen)
Mit dem Schließen des Formulars werden alle wie beschrieben geöffneten Dateien über den Window Handle geschlossen. Erspart das Aufräumen in der Taskleiste.
Wurde einer geöffneten Datei fehlerhaft kein Window Handle (= 0) zugeordnet, bleibt dann doch ein Schließen der Datei über die Taskleiste
Open | Öffnen der in der Liste 'Files' ausgewählten Datei 'Selected file'. |
Show | Eine geöffnete Datei wird aus der Taskleiste geholt und angezeigt. |
Hide | Eine angezeigte Datei wird in die Taskleiste minimiert, "versteckt". |
Close | Eine geöffnete Datei wird geschlossen. |
Bevor mit dem Button 'Get files' Dateien aus dem vorgegebenen Verzeichnis eingelesen werden, die normalerweise eine bereits vorhandene Dateiliste überschreiben würden, wird geprüft, ob aus der vorangegangenen Bearbeitung in Sheet 'Notes' Kommentare vorhanden sind.
Es kann gewählt werden, ob vor einem neuen Einlesen von Dateien das Sheet 'Notes' mit den Kommentaren gesichert werden soll. Dazu steht ein eigenes kleines Formular zur Verfügung, zu öffnen über den Button 'Save this sheet' in Sheet 'Notes'. Das Sheet 'Notes' wird mit einem wählbaren Dateinamen als xlsx-File abgespeichert.
Andernfalls werden die Dateilisten in den Sheets 'DocList' und 'Notes' überschrieben.
2 Sheet Notes
In diesem Sheet werden die Kommentare zu einzelnen Dateien gezeigt. Auf Wunsch kann dieses Sheet über den Button 'Save this sheet' abgespeichert werden, Format 'xlsx'. Die abgespeicherte Datei enthält keinen VBA-Code.
3 Sheet Data
Hier werden Dateiendungen, nach denen gesucht werden kann, und die Dateiendungen, die bei der Suche grundsätzlich auszuschließen sind, festgelegt. Die gelb markierten Zellen stellen jeweils benannte Bereiche (Named Ranges) dar. Die Festlegung der Bereichsgrenzen kann (im deutschen Excel) mit 'Formeln – Dateimanager' ggf. angepasst werden.
Die Anwendung ist in Excel VBA programmiert. Zur Nutzung müssen die aktiven Inhalte (Makros) aktiviert werden. Der VBA-Code ist ungeschützt einsehbar. Entwicklungsumgebung war MS Excel 2019 32 Bit unter Windows 10 Pro 64 Bit 22H2.
Zu den Datei- und Fensteroperationen wurden Windows interne Funktionen (Windows APIs) eingesetzt. Die Kompatibilität mit 64 Bit-Versionen von MS Excel (ab Excel 2010) sollte gegeben sein, konnte aber nicht getestet werden. Eine Kompatibilität mit sehr alten Excel-Versionen, etwa vor Excel 2007, kann nicht garantiert werden.
Download
« Auslegung von TX-Oberwellenfiltern | Top | » |