es werden mehrere Dateien genutzt (z.B. "DateiA", "DateiB") die, wenn sie gespeichert werden, eine bestimmte Zieldatei (z.B. "DateiPrüf") öffnen, Daten dort hineinschreiben und Dateiprüf dann wieder schliessen. Funktioniert so weit.
Problem: Es sind deutlich mehr als nur die beiden Dateien A und B in Benutzung und es kann passieren, dass zwei Dateien genau gleichzeitig auf DateiPrüf zugreifen wollen.
Ich habe gehofft, dass mit Hilfe von Application.Workbooks z.B. DateiB erkennt, dass DateiA gerade DateiPrüf geöffnet hat und Daten reinschreibt. Mit einem Timer sollte DateiB 30 Sekunden warten und dann versuchen DateiPrüf zu öffnen. Ganz so einfach ist es offenbar nicht.
Anmerkung: Die Erkennung funktioniert, wenn ich einfach DateiPrüf öffne und versuche DateiA oder DateiB zu speichern.
Wenn es zur "Kollision" kommt, erscheint auf dem Bildschirm des Users der etwas zu spät kommt ein Fenster, das vorschlägt eine Kopie von DateiPrüf zu speichern. Wenn man das abbricht erscheint der Hinweis, dass DateiPrüf wieder verfügbar ist mit Optionen, wie weiter zu verfahren ist.
Das geht für die Anwendung gar nicht, weil die User damit überhaupt nichts am Hut haben.
Mit welcher Funktion kann ich erkennen, dass DateiPrüf gerade besetzt ist ?
Wenn es nichts derartiges gibt, wie kann ich dann verhindern, dass die User mit den o.g. Dialogen konfrontiert werden ?
Es wäre für mich ausreichend, wenn die Datei, die zu spät versucht zuzugreifen, einfach keine Daten übertragen kann und die Aktion "geräuschlos" abgebrochen wird.
Für Vorschläge wäre ich sehr dankbar !
Gruß Bernhard