Original oder schreibgeschützte Kopie

Hallo Experten,

wir haben im Netz eine Word-Datei, die täglich neu erstellt wird und im Laufe des Tages von einigen Mitarbeitern modifiziert werden muss. Andere Mitarbeiter sollen die Möglichkeit haben, sich kurz über den neuesten Stand zu informieren und die Word-Datei dann wieder zu schließen.

Nun passiert es natürlich, trotz „erhobenem Zeigefinger“, dass immer wieder vergessen wird, die Word-Datei zu schließen. Ich habe deshalb ein Makro hinterlegt, das nach einer bestimmten Zeit die Datei automatisch speichert und schließt. Nun brauche ich noch einen VBA-Code, mit dem ich abprüfen kann, ob es sich bei dem aktiven Dokument um eine geöffnete Kopie handelt, damit das Makro in diesem Fall nach Ablauf der Zeit ohne zu speichern schließt. Ich habe zwar einen entsprechenden Text in der Msg-Box hinterlegt, fürchte aber, dass sich trotzdem der eine oder andere mal verklickt.

Wie prüfe ich ab, ob es sich bei dem aktiven Dokumnet um die Original-Datei oder eine schreibgeschützte Kopie handelt?

Vielen Dank für eure Hilfe.

Hallo, Magic Woman!

Wie prüfe ich ab, ob es sich bei dem aktiven Dokumnet um die
Original-Datei oder eine schreibgeschützte Kopie handelt?

Zwei Ansätze, die ich leider gerade nicht nachprüfen kann. Ich vermute, dass sich eine schreibgeschützt geöffnete Kopie durch zweierlei kennzeichnet. Zum einen sollte die ReadOnly-Eigenschaft des Dokuments gesetzt sein, zum anderen könnte auch die Name-Eigenschaft mit „Name (Schreibgeschützt)“ versehen sein.

Probier das mal aus…

Gruß, Manfred

Hallo, Magic Woman!

Wie prüfe ich ab, ob es sich bei dem aktiven Dokumnet um die
Original-Datei oder eine schreibgeschützte Kopie handelt?

Zwei Ansätze, die ich leider gerade nicht nachprüfen kann. Ich
vermute, dass sich eine schreibgeschützt geöffnete Kopie durch
zweierlei kennzeichnet. Zum einen sollte die
ReadOnly-Eigenschaft des Dokuments gesetzt sein, zum anderen
könnte auch die Name-Eigenschaft mit „Name (Schreibgeschützt)“
versehen sein.

ReadOnly ist gesetzt, wenn man das Dokument nicht schreibend öffnen kann. Dieses „(Schreibgeschützt)“ steht nicht in der Name-Eigenschaft, sondern müsste per API und GetWindowText ausgelesen werden, aber ReadOnly ist eh sicherer. Damit sollte das funktionieren:

If ActiveDocument.ReadOnly Then
 ActiveDocument.Close wdDoNotSaveChanges
Else
 ActiveDocument.Close wdSaveChanges ' oder wdPromptToSaveChanges
End If

Gruß, Manfred

Hallo Manfred,

danke für die Hilfe. Die ReadOnly Abfrage funktioniert. Nun habe ich aber noch das Problem, dass während der Ausführung des Makros alle Symbolleisten inaktiv sind und nur durck Klick mit der rechten Maustaste aktiviert werden. Gibt es dafür auch eine Lösung?

Gruß
MW