Makro-Schleife - Prüfung ob Datei noch geöffnet
10.11.2023 03:03:42
Michael P.
ich habe ein Makro, welches abläuft und am Ende einen Timer setzt um sich selbst wieder aufzurufen. In diesem Makro wird ein Timestamp geprüft, wann die letzte Änderung in der Datei gemacht wurde und wenn 10 Minuten keine Änderung stattfindet, wird die Datei gespeichert und der Nutzer ausgeloggt. Dazu gibt es einen rudimentären Login mittels Passwörter. Ohne dass jemand eingeloggt ist, kann keine Eingabe (auch nur via Makro möglich) erfolgen.
Nun aber zum eigentlichen Problem:
Application.OnTime check_logout, "Modul2.check_lastaction"
mit dieser Codezeile am Ende des Makros ruft sich diese Sub selbst wieder in 30 Sekunden auf. Das passiert jedoch auch, wenn diese Datei selbst geschlossen wurde und Excel noch mit einer anderen Datei geöffnet ist. Und schwubbs, ist die Datei wieder offen und beendet das Makro meist in einer Fehlermeldung.
Wie kann ich also vor dem Aufruf dieser Zeile prüfen, ob genau diese Datei noch geöffnet ist. Falls nämlich nicht, soll der Aufruf der Sub nicht neu geplant werden. Hoffe ich konnte das verständlich erklären...
MfG
Anzeige