gibt es in VBA eine Möglichkeit zu prüfen, ob ein Worksheet
Passwortgeschützt ist?
MfG
Ewald
Hier für Workbook statt Worksheet. Vielleicht meinst Du dies ja, da m.W. nur
der Schutz eines Sheets pw-geschützt sein kann, jedoch nicht das Sheet
selbst - da kann ich mich auch irren. Aber Password in VBA-Hilfe bezieht
sich auf Workbook - und für einige Einträge der Hilfe ist meine Hilfedatei
irgendwie nicht reparabel trotz anderslautender Meldung, so daß ich nicht
zuende recherchieren konnte.
http://groups.google.de/group/microsoft.public.de.excel/browse_frm/thread/e3024b3ba80c2686/b398958b88233583?q=blatt+passwortgesch%C3%BCtzt&rnum=6#b398958b88233583
--
Hallo + Gruss Alexander (WinXP Home SP1 - Office 2000 SP3) 6----5----7-2
Hallo Ewald,
versuch's mal in etwa so ...
Option Explicit
Public Function CheckProtection(ws As String) As Boolean
Application.Volatile
CheckProtection = ThisWorkbook.Sheets(ws).ProtectContents
End Function
--
Gruß
Thomas
Option Explicit
Sub t()
MsgBox CheckPassword("Tabelle1")
End Sub
Public Function CheckPassword(ws As String) As Boolean
Application.Volatile
On Error GoTo 10
ThisWorkbook.Sheets(ws).Unprotect "unsinnigespasswort"
Exit Function
10:
CheckPassword = True
Ewald schrieb am 11.11.2005
> gibt es in VBA eine Möglichkeit zu prüfen, ob ein Worksheet
> Passwortgeschützt ist?
Du meinst den Blattschutz?
Dann könntest Du die folgende UDF verwenden:
Function TabSchutz(Tabelle As Variant) As Boolean
Dim strTabelle As String
If IsObject(Tabelle) Then
strTabelle = Tabelle.Name
Else
strTabelle = Tabelle
End If
TabSchutz = Sheets(strTabelle).ProtectContents Or _
Sheets(strTabelle).ProtectDrawingObjects Or _
Sheets(strTabelle).ProtectScenarios
End Function
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Ich baue in meinem "Excel-Alltag" in meinen Anwendungen
das meistens mit folgenden Makros auf.
I) Zu Deiner Frage Blattschutz
Sub Check_Blattschutz()
If ActiveSheet.ProtectContents = True Then
MsgBox "Aktives Tabellenblatt ist geschützt!"
ElseIf ActiveSheet.ProtectContents = False Then
MsgBox "Aktives Tabellenblatt ist nicht geschützt!"
End If
End Sub
II) Zur Info, falls Du Dich oder andere NGler sich dafür interessieren
noch die Variante für den Arbeitsmappenschutz
Sub Check_Arbeitsmappenschutz()
If ActiveWorkbook.ProtectStructure = True Then
MsgBox "Aktive Arbeitsmappe Struktur ist geschützt!"
ElseIf ActiveWorkbook.ProtectStructure = False Then
MsgBox "Aktive Arbeitsmappe Struktur ist nicht geschützt!"
End If
If ActiveWorkbook.ProtectWindows = True Then
MsgBox "Aktive Arbeitsmappe Fenster ist geschützt!"
ElseIf ActiveWorkbook.ProtectWindows = False Then
MsgBox "Aktive Arbeitsmappe Fenster ist nicht geschützt!"
End If
End Sub
Wobei dann die "MsgBox Zeilen" dann angepaßt werden.
Z.B. mit anderen Meldungen, anderen VBA Anweisungen oder
mit Verweisen zu anderen Makros. (run "AnderesMakro" usw.)
Freundliche Grüße aus der Pfalz
Bernd Augustin
http://www.bernd-augustin.de
ca. 40 kostenlose AddIns für Excel
Made by Bernd Augustin
"Ewald" <Ew...@discussions.microsoft.com> schrieb im Newsbeitrag
news:470D84E3-23EF-49AB...@microsoft.com...
MfG
Ewald