Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1476to1480
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

eine Exceldatei speziell öffnen anhand Username

eine Exceldatei speziell öffnen anhand Username
25.02.2016 16:40:12
Hecke
Einen schönen Guten Tag Forum,
habe mal eine Frage zur Öffnung einer Excel - Datei mit Environ("USERNAME").
Der Code unten macht schon das was er soll. Möchte diesen aber noch ein wenig ausbauen.
Die "Berechtigten" bekommen Vollzugriff auf die Datei, also Lese und Schreibrecht.
Weiterhin möchte ich noch habe das manche nur "Lesen" können ohne Schreibrecht und alle übrigen dürfen die Datei nicht öfnnen.
Kann man den Code unten noch weiter ausbauen?
Berechtigte Vollzugriff, alle anderen nur Schreibgeschützt:
Private Sub Workbook_Open()
Application.DisplayAlerts = False
Dim Berechtigt()
Berechtigt = Array("Michael", "Hans", "Werner", "Achim", "Claudia")
If Not IsError(Application.Match(Environ("Username"), Berechtigt, 0)) Then
MsgBox "Guten Tag" & " " & Environ("USERNAME") & "," _
& vbCrLf _
& vbCrLf _
& "Sie sind berechtigt an der Datei zu arbeiten." _
& vbCrLf _
& vbCrLf _
& "Bei Problemen oder Fragen bitte an Michael" _
& vbCrLf _
& vbCrLf _
& "Gutes Gelingen und viel Spaß", _
vbInformation
Else
If ActiveWorkbook.ReadOnly = False Then
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
MsgBox "Guten Tag" & " " & Environ("USERNAME") & "," _
& vbCrLf _
& vbCrLf _
& "Sie sind nicht berechtigt an der Datei zu arbeiten." _
& vbCrLf _
& vbCrLf _
& "Die Datei wird schreibgeschützt geöffnet" _
& vbCrLf _
& vbCrLf _
& "Wir schaffen das !!", _
vbInformation
End If
End If
End Sub

Das passt soweit, nur möchte ich das auch beim schreigeschützten Öffnen nur bestimmte User haben und der Rest dann keinen Zugriff.
Danke Euch
Gruß

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exceldatei speziell öffnen anhand Username
26.02.2016 11:23:43
Rudi
Hallo,
so:
Private Sub Workbook_Open()
Application.DisplayAlerts = False
Dim BerechtigtA, BerechtigtB
BerechtigtA = Array("Michael", "Hans", "Werner", "Achim", "Claudia")
BerechtigtB = Array("Peter", "Klaus", "Julia")
If Not IsError(Application.Match(Environ("Username"), BerechtigtA, 0)) Then
MsgBox "Guten Tag" & " " & Environ("USERNAME") & "," _
& vbCrLf _
& vbCrLf _
& "Sie sind berechtigt an der Datei zu arbeiten." _
& vbCrLf _
& vbCrLf _
& "Bei Problemen oder Fragen bitte an Michael" _
& vbCrLf _
& vbCrLf _
& "Gutes Gelingen und viel Spaß", _
vbInformation
Exit Sub
End If
If Not IsError(Application.Match(Environ("Username"), BerechtigtB, 0)) Then
If Not ActiveWorkbook.ReadOnly Then
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
MsgBox "Guten Tag" & " " & Environ("USERNAME") & "," _
& vbCrLf _
& vbCrLf _
& "Sie sind nicht berechtigt an der Datei zu arbeiten." _
& vbCrLf _
& vbCrLf _
& "Die Datei wird schreibgeschützt geöffnet" _
& vbCrLf _
& vbCrLf _
& "Wir schaffen das !!", _
vbInformation
End If
Exit Sub
End If
MsgBox "keine Berechtigung"
Me.Close False
End Sub
Aber wer verhindert das Öffnen der Mappe mit gedrückter SHIFT-Taste?
Gruß
Rudi

Anzeige
AW: Exceldatei speziell öffnen anhand Username
26.02.2016 14:59:20
Hecke
Hallo Rudi,
dein Code funktioniert.
Danke dafür, aber was meinst du hiermit?
"Aber wer verhindert das Öffnen der Mappe mit gedrückter SHIFT-Taste?"
Gruß

AW: eine Exceldatei speziell öffnen anhand Username
26.02.2016 11:26:04
otto
Hi,
vielleicht so:
Sub Workbook_Open()
Application.DisplayAlerts = False
Dim Berechtigt(), nichtberechtigt()
Berechtigt = Array("Michael", "Hans", "Werner", "Achim", "Claudia")
nichtberechtigt = Array("Max", "Heinz", "Anna")
If Not IsError(Application.Match(Environ("Username"), Berechtigt, 0)) Then
MsgBox "Guten Tag" & " " & Environ("USERNAME") & "," _
& vbCrLf _
& vbCrLf _
& "Sie sind berechtigt an der Datei zu arbeiten." _
& vbCrLf _
& vbCrLf _
& "Bei Problemen oder Fragen bitte an Michael" _
& vbCrLf _
& vbCrLf _
& "Gutes Gelingen und viel Spaß", _
vbInformation
ElseIf Not IsError(Application.Match(Environ("Username"), nichtberechtigt, 0)) Then
If ActiveWorkbook.ReadOnly = False Then ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
MsgBox "Guten Tag" & " " & Environ("USERNAME") & "," _
& vbCrLf _
& vbCrLf _
& "Sie sind nicht berechtigt an der Datei zu arbeiten." _
& vbCrLf _
& vbCrLf _
& "Die Datei wird schreibgeschützt geöffnet" _
& vbCrLf _
& vbCrLf _
& "Wir schaffen das !!", _
vbInformation
End If
Else
ActiveWorkbook.Close False
End If
End Sub
otto

Anzeige
AW: eine Exceldatei speziell öffnen anhand Username
26.02.2016 15:01:08
Hecke
Hallo Otto,
bei deinem Code bekomme ich die Fehlermeldung "Else ohne If"
Gruß

1x End If zu viel
26.02.2016 15:30:19
otto
Hi,
sorry, das End If vor Else muss weg.
otto

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige