Ein Hallo an die VBA-Gemeinde,
ich habe einen File der beim Öffnen unten stehendes Macro durchläuft.
Dabei werden per Function der User ermittelt und einer Gruppe von Nutzungsrechten zugeordnet.
Bei "1" soll der File als ReadOnly geöffnet werden, bei allen anderen beschreibbar.
Ich hab nun einiges schon ausprobiert, aber ich bekomme das nicht hin.
Bei "0" oder den restlichen Benutzergruppen, macht der Code soweit alles, was er soll.
Sollte der User "1" haben, bekomme ich zwar mit diesem Code einen schreibgeschützen File auf, aber der Code kommt nicht zur Msgbox.
Ich bin mir sicher, dass 2x öffnen in dieser Situation falsch ist, aber etwas ratlos....
Würde mich sehr freuen, wenn ich einen Tip bekomme, wo oder wie ich suchen muss, oder so...
Vielen Dank & viele Grüße
Gert
Option Explicit
Private Sub Workbook_Open()
Dim varWBk As String, varWBPth As String, varPW As String
If chkuser = 0 Then 'per Funktion: User nicht in der Liste enthalten
MsgBox "User not registered - No rights to use File"
ActiveWorkbook.Close (False)
End If
If chkuser = 1 Then 'per Funktion: User hat das Recht die Datei schreibgeschützt zu sehen
varWBk = ActiveWorkbook.Name
varWBPth = ActiveWorkbook.Path
Workbooks.Open Filename:=varWBPth & "\" & varWBk, ReadOnly:=True
End If
MsgBox "weiter"
'Application.ScreenUpdating = False
Me.Unprotect (Worksheets("User").Range("C8"))
Sheets("2011").Visible = True
Sheets("2011").Select
Sheets("NoMacro").Visible = False
Me.Protect (Worksheets("User").Range("C8"))
'Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(cancel As Boolean)
If ActiveWorkbook.ReadOnly = True Then
ActiveWorkbook.Close (False)
Exit Sub
End If
'Application.ScreenUpdating = False
Me.Unprotect (Worksheets("User").Range("C8"))
Sheets("NoMacro").Visible = True
Worksheets("NoMacro").Select
Sheets("2011").Visible = False
Me.Protect (Worksheets("User").Range("C8"))
Me.Save
End Sub