Schreibgeschütztes workbook
21.03.2016 19:38:12
Dennis
ich habe gerade ein Projekt, bei dem User über ein Userform bestimmte Daten angeben können. Bei klick auf den Absenden-Button wird dann eine anderes workbook (datenbank) minimiert geöffnet und die eingegeben daten dort eingetragen.
das funktioniert auch alles ohne probleme. da es aber auch vorkommen kann, dass die datei von mehreren usern gleichzeitig genutzt wird/werden soll. da fehlermeldungen selbstverständlich ausgeschaltet sind, werden derzeit die eingaben des zweiten users nicht gespeichert, da die "datenbank" ja nur schreibgeschützt geöffnet wird.
ich hatte also die idee, dass ich von der datenbank-datei einfach mehrere exemplare bereitstelle ("datenbank1.xlsm", "datenbdank2.xlsm", usw.).
die datenbank wird dann in vba folgendermaßen geöffnet (vereinfachter code):
dim i as integer
i=1
on error goto fehler
workbooks.open ("c:\pfad....\datenbank" & i & ".xlsm")
'im folgenden werden dann die eingaben erfasst und in die tabellen geschrieben sowie
'die tabelle gespeichert und wieder geschlossen
exit sub
fehler:
i=i+1
resume
end sub
in meinem kopf geht excel also wenn es die meldung bekommt, dass die datei bereits geöffnet ist in den abschnitt "fehler", dort wird i um 1 erhöht und er spring wieder hoch und "sollte" die datei dokument2 öffnen und da hinein schreiben. ich habe selbstverständlich alle zellenaufrufe mit dem pfad mit der variable ersetzt.
jetzt das problem: so einfach scheint es nicht zu sein, denn nach wie vor kann nur ein user gleichzeitig arbeiten und alle anderen werden nicht gespeichert, als hätte ich die fehlerbehandlung gar nicht eingebaut. wo ist mein denk- bzw codefehler? der zweite user bekommt keine fehlermeldung und es wird nach wie vor dokument1 geöffnet, obwohl dieses schreibgeschützt ist.