VBA-Beispiel 068
mail schreiben
mail schreiben

per VBA Blattschutz abhängig vom Windows-Benutzernamen

Beim öffnen der Datei wird der Blattschutz für alle Tabellen aufgehoben, wenn der Windows-Benutzername Hugo lautet.
Private Sub Workbook_Open()
  Call UserName
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Call Blattschutz_alle_Tabellen
End Sub



Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Sub UserName()
Dim Buffer As String * 100
Dim BuffLen As Long

BuffLen = 100
GetUserName Buffer, BuffLen

'Windows Benutzernamen hier anpassen
If Left(Buffer, BuffLen - 1) = "Hugo" Then
  Call Blattschutz_alle_Tabellen_aufheben
End If

End Sub

Sub Blattschutz_alle_Tabellen_aufheben()
Dim i As Worksheet

For Each i In ActiveWorkbook.Worksheets
  i.Unprotect Password:="blau"
Next i

End Sub

Sub Blattschutz_alle_Tabellen()
Dim i As Worksheet

For Each i In ActiveWorkbook.Worksheets
  i.Protect Password:="blau"
Next i

End Sub

Download:   vba068.zip