Ich habe einen VBA-Code mit Hilfe des Archivs zusammen "gebastelt". Eine definierte Auswahl an Usern soll die Datei mit lesen/schreiben öffnen können, der Rest nur mit Leserecht:
Option Explicit
Private Sub Workbook_Open()
'definieren, wer schreiben darf
Select Case LCase(Environ("username"))
Case "meier", "mueller", "schulze", "schmidt"
Case Else
ThisWorkbook.ChangeFileAccess xlReadOnly
End Select
If ThisWorkbook.ReadOnly = True Then
MsgBox ("Sie öffnen die Datei schreibgeschützt. Grund: Sie haben nur Leserechte oder die Datei _
wird von einem anderen Benutzer bearbeitet." + Chr(13) + Chr(13) + "KEINE MUTATIONEN VORNEHMEN, SPEICHERN IST NICHT MÖGLICH." + Chr(13) + Chr(13) + "Beim Beenden DATEI OHNE SPEICHERN SCHLIESSEN.")
End If
If ThisWorkbook.ReadOnly = True Then
ReadGlobalState = True
Else
ReadGlobalState = False
End If
End Sub
Das funktioniert eigentlich gut, das Problem ist nur, dass wenn ich die Datei schreibgeschützt öffne, immer zuerst die Rückfrage kommt: "Änderungen vor dem Wechseln des Dateistatus speichern? Ja/Nein." Lässt sich diese Rückfrage verhindern, ohne dass man die Datei zuerst speichern muss?
Und noch etwas: Wenn jemand die Datei schreibgeschützt öffnet, kann er Änderungen nicht speichern, weil ich "speichern unter" mit VBA-Code nicht zulasse. Kann mam die Rückfrage, ob man speichern wolle ganz unterdrücken? Das wäre ideal.
Vielen Dank für jeden Hinweis.
Gruss
Ben