Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1064to1068
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

Userbezogen Schreibgeschützt öffnen

Userbezogen Schreibgeschützt öffnen
01.04.2009 10:09:32
André
Hallo Excel-Profi´s,
habe in diesem Forum folgende Modul gefunden:

Private Sub Workbook_Open()
Dim ws%
If Application.UserName = "andre" Then
For ws = 1 To Worksheets.Count
Worksheets(ws).Unprotect "andre"
Next
Else: For ws = 1 To Worksheets.Count
Worksheets(ws).Protect "Peter"
Next
End If
End Sub


Wenn der Benutzer "Andre" öffnet, dann wird nicht Schreibgeschütz geöffnet ansonsten Schreibgeschützt.
Allerdings wird die Abfrage nicht auf den Netzwerknamen bezogen, wenn ich es richtig sehe. Wie kann man es lösen damit der Netzwerkname überprüft wird.
Freue mich über jede Hilfe.
Danke.
Gruß
André

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 10:11:31
Hajo_Zi
Hallo André,
Environ("Username")

AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 10:36:39
André
Hallo Hajo,
vielen Dank für deinen Tipp.
Wäre es dann wie unten so richtig?

Private Sub Workbook_Open()
Dim ws%
If Environ("Username") = "andre" Then
For ws = 1 To Worksheets.Count
Worksheets(ws).Unprotect "andre"
Next
Else: For ws = 1 To Worksheets.Count
Worksheets(ws).Protect "andre"
Next
End If
End Sub


Und ist es richtig, dass ich dann dieses Modul in ein Klassenmodul setzen kann?
Gruß
André

Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 10:39:22
Hajo_Zi
Hallo André,
warum nicht einfach testen? Ja es ist korrekt, falls die Anmeldenamen so sind. Das Makro kommt unter DieseArbeitsmappe, wo es auch schon vorher war.
Gruß Hajo
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 11:11:06
André
Hallo Hajo,
danke für deine Info.
Habe mich für diesen Code entschieden:

Private Sub Workbook_Open()
Select Case LCase(Environ("username"))  'Netzwerk-Name
Case "xxx1", "xxx" 'nix tun
Case Else
If Not ActiveWorkbook.ReadOnly Then
ActiveWorkbook.ChangeFileAccess xlReadOnly
End If
End Select
End Sub


Habe diesen ebenfalls in diesem Forum gefunden.
Gruß
André

Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:03:02
Wolle
Hallo,
für was steht, oder besser was kommt für "xxx1", "xxx" rein?
Gruß und danke
Wolle
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:05:44
Hajo_Zi
Halo Wolle,
die Anmeldenamen laut Netzwerkanmeldung.
Gruß Hajo
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:11:19
Wolle
Hallo Hajo,
also bei
Select Case LCase(Environ("username"))
steht der Name der qwas machen darf,
und bei
Case "xxx1", "xxx" 'nix tun
stehen die Namen, die nichts machen dürfen? Sehe ich das richtig?
Danke und Gruß

Private Sub Workbook_Open()
Select Case LCase(Environ("username"))  'Netzwerk-Name
Case "xxx1", "xxx" 'nix tun
Case Else
If Not ActiveWorkbook.ReadOnly Then
ActiveWorkbook.ChangeFileAccess xlReadOnly
End If
End Select
End Sub


Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:23:27
Hajo_Zi
Hallo Wolle,
Select Case ist nur das Entscheidungskriterium.
Ich bin der Auuffasung im Code fehlt noch was nach
Case "xxx1", "xxx"
' aufheben des Schutzes
die düfen was machen
und alle anderen dürfen nur lesen.
Gruß Hajo
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:28:20
Wolle
OK, danke Hajo,
habe das wie unten Probiert, und das geht bestens, bis auf das Gro0 und kleinschreibung beachtet werden muss beim Usernamen. Aber ist dann wohl so.
Danke und bis zum nächsten mal Hajo.
Gruß Wolle

Private Sub Workbook_Open()
Dim ws%
If Environ("Username") = "WOLLE" Then
For ws = 1 To Worksheets.Count
Worksheets(ws).Unprotect "passwort_01"
Next
Else: For ws = 1 To Worksheets.Count
Worksheets(ws).Protect "passwort_01"
Next
End If
End Sub


Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:31:24
Hajo_Zi
Hallo Wolle,
benutze dann doch
If Ucase(Environ("Username")) = "WOLLE" Then
Gruß Hajo
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:40:29
Wolle
Hallo Hajo,
geht nicht. Wenn ich so machen wie du beschrieben, kann ich irgendwie keine Zellen bearbeiten.
Ich meine Der Anmeldename auf dem Rechner ist "lorenzen". Aber in VBA würde ich gerne "Lorenzen", also groß und kleinschreibung haben. Der Grund ist das die Anmeldenamen alle verschieden sind. Groß und gleinschreibung durcheinander.
Gruß Wolle
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:44:09
Hajo_Zi
Hallo Wolle,
in meinem Beispiel war der Vergleichswert wie auch schon bei Dir alles in Großbuchstaben.
Gruß Hajo
Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:56:19
Wolle
Trotzdem vielen vieln Dank für Deine Bemühungen.
Gruß Wolle
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 13:58:40
Hajo_Zi
Hallo Wolle,
"Trotzdem" muss ich jetzt nicht verstehen. Das Problem ist doch gelöst.
Wenn man ein Wort in Großbucjhstaben umwandelt sollte man es auch mit Großbuchstaben vergleichen.
Gruß Hajo
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 14:09:12
Wolle
Hallo Hajo,
das wahr nicht böse gemeint. Habe mich vielleicht nicht gut oder wahscheinlich überhaubt nicht gut ausgedrückt.
Usernamen Rechner:
Lorenzen
andresen
PeterSEN
VBA würde ich dann aber nur eingeben wollen:
lorenzen
andresen
petersen
Ich galube so ist es verständlicher. Ist halt nicht ganz einfach mit mir.
Danke für Deine Ausdauer Hajo
Gruß Wolle
Anzeige
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 14:12:59
Hajo_Zi
Hallo Wolle,
das sollte man schon schreiben was man will ich habe es mit UCASE in Großbuchstaben umgewndelt Du mußt LCase benutzen.
Gruß Hajo
AW: Userbezogen Schreibgeschützt öffnen
01.04.2009 14:22:32
Wolle
Danke Hajo,
das hat jetzt geklappt. Wie gesagt, ist nicht immer ganz einfach.
Gruß Wolle

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige