ich habe ja jetzt, mit eurer Hilfe, das mit dem Private Sub Workbook_BeforeClose(Cancel As Boolean) hinbekommen. Mich stört etwas, dass der Anwender immer noch gefragt wird, ob er speichern möchte. Selbst dann, wenn ich vorher ein Workbook.Save eingebaut habe und seitdem nichts mehr geändert wurde.
Ich bin dann auf die Idee gekommen, ein "Workbook.Close SaveChanges:=True zu nehmen. Das funktioniert aber auch nicht, wahrscheinlich, weil dieses Workbook Close ja wieder die BeforeClose aufruft. Wir kann ich hier vorgehen, dass das System speichert und beim Durchlauf der BeforeClose nicht mehr fragt?
Ich habe noch eine weitere Frage: Die Datei ist freigegeben und mehrere Anwender nutzen sie parallel. Wenn einer jetzt die Datei schließen will, während ein anderer noch etwas verändert hat, kommt ja ein Dialog, der auf die abweichenden Zellen hinweist. Da man nicht sieht, wer die Änderung gemacht hat, haben wir als Maxime ausgegeben:
- "andere verwenden" benutzen, um niemand seine Erfassung kaputtzuhauen
- nach dem Schließen erneut öffnen, um zu schauen, ob die eigenen Einträge noch drin sind.
Dieses möchte ich gern automatisieren, also das "andere verwenden" über eine hoffentlich existierendes Schlüsselwort ersetzen. Die Frage ist aber auch, wie man das "neu öffnen" simulieren kann. In diesem Falle muss die Datei ja eigentlich nicht geschlossen/geöffnet werden, es muss nur mit den anderen Usern synchronisiert werden.
Hat da jemand einen Rat?
Vielen Dank und viele Grüße
Hans-Jürgen