Errorhandler bei gleichzeitigem Dokumentenzugriff

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Errorhandler bei gleichzeitigem Dokumentenzugriff
von: Horst S.
Geschrieben am: 10.03.2005 08:56:08
Morgen,
ich habe eine Excel-Datei im Netz liegen und mehrere Nutzer,
die diese Datei in einem Makro per Workbook.open-Methode
(je ca. 10 sek.) öffnen, schreiben, speichern.
Sollte "zufällig" einer zugreifen,
wenn ein zweiter geöffnet, kommt der Systemhinweis
schreibgeschützt ?
benachrichtigen ?
abbrechen ?
ich möchte auch Pause und mit eigener Ausschrift,
anschließend ja=resume makro (neuer Versuch des workbook.open)
Welche errorlevel brauche ich?
(Hat jemand gar ein Beispiel ? ...blinzel,blinzel)
Danke Horst

Bild

Betrifft: AW: Errorhandler bei gleichzeitigem Dokumentenzugriff
von: Volker
Geschrieben am: 10.03.2005 10:27:27
Hallo Horst,
Was meinst Du mit "ich möchte auch Pause und mit eigener Ausschrift,
anschließend ja=resume makro (neuer Versuch des workbook.open)".
Ich rate mal, dass Du
1. die eigentliche Messagebox unterdrücken willst und
2. dafür eine selbstgetrickte angezeigt werden soll und dann
3. das WB-open erneut antriggern wird
1. Geht vielleicht, wenn Du im workbook.open-Ereignis weitere Ereignisse unterdrückst:
Stichwort Application.DisableEvents -.EnableEvents
2. Ich glaube nicht, das es sich um einen error handelt wenn die bereits geöffnete Datei nochmal geöffnet wird, also würde ein errorhandler wahrscheinlich nicht gehen.
3. meines Wissens kann man Ereignisse nicht aufrufen wie eine Sub oder Function.
Außerdem kriegt man ja gar nicht mit, wann die Datei wieder frei ist.
Macht ja auch Sinn: stell Dir vor, der 1. macht Änderungen, speichert und schleißt die Datei. Der 2. kann die schreibgeschützte Datei plötzlich auch ändern und schmeißt die Änderungen des 1. über den Haufen.
Man kommt also gar nicht drum herum, die Datei zu schließen und nochmal zu öffnen.
Und in einer geschlossenen Datei können natürlich keine Markros ausgeführt werden, die Datei sich also auch sich selbstständig wieder öffnen.
Immerhin kann ich Dir zeigen, wie ein errorhandling in etwa aussieht:

Private Sub Workbook_Open()
On Error goto warten
...........
exit sub   'verhindert Ausführung von "warten", wenn kein Fehler
warten:
msgbox(....schau mal in die Hilfe, wie das geht)
End Sub

Ich laß die Frage mal offen.
Vielleicht ist ja jemand schlauer als ich.
Gruß
Volker
 Bild

Beiträge aus den Excel-Beispielen zum Thema ""Neues Menü" umbenennen"