Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA - Abfragen, ob Worksheet Passwortgeschützt ist

872 views
Skip to first unread message

Ewald

unread,
Nov 11, 2005, 9:31:03 AM11/11/05
to
Hallo NG,

gibt es in VBA eine Möglichkeit zu prüfen, ob ein Worksheet
Passwortgeschützt ist?

MfG

Ewald

Alexander Wolff

unread,
Nov 11, 2005, 11:18:35 AM11/11/05
to
Ewald schrieb unlängst:

> gibt es in VBA eine Möglichkeit zu prüfen, ob ein Worksheet
> Passwortgeschützt ist?

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


Thomas Risi

unread,
Nov 11, 2005, 11:26:31 AM11/11/05
to
Ewald schrieb:

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

http://rtsoftwaredevelopment.de

Thomas Risi

unread,
Nov 11, 2005, 12:34:34 PM11/11/05
to
Thomas Risi schrieb:

> Ewald schrieb:
>
>> Hallo NG,
>>
>> gibt es in VBA eine Möglichkeit zu prüfen, ob ein Worksheet
>> Passwortgeschützt ist?
>>
>> MfG
>>
>> Ewald
>
>
> 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
>
oh, falsches makro ...

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

Thomas Ramel

unread,
Nov 11, 2005, 1:20:33 PM11/11/05
to
Grüezi Ewald

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)

Bernd Augustin

unread,
Nov 11, 2005, 1:19:55 PM11/11/05
to
Hallo Ewald

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...

Ewald

unread,
Nov 14, 2005, 4:19:02 AM11/14/05
to
Hallo Leute,

vielen Dank für eure Hilfe und Lösungsvorschläge; werde mal alles
ausprobieren und mich für de miir bestverständliche Lösung entscheiden.

MfG
Ewald

0 new messages