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

Passwort

Passwort
14.02.2024 11:37:08
Simone
Hallo zusammen,

ich habe im netzt dieses Code gefunden:


Sub passwort()

Dim sPassWord As String
sPassWord = InputBox("Bitte Passwort eingeben:", , "")
Select Case sPassWord
Case "12345"
With Worksheets("Protokoll")
.Visible = True
.Select
End With
Case ""
Case Else
Beep
MsgBox "Hmmmm, das war wohl nix!"
End Select
End Sub


Ich möchte, wenn ein Tabellenblatt ausgeblendet ist, das es nur über ein Passwort zu öffnen geht.
LEider geht dieser Code nicht. Mache ich was falsch?

Danke an ALLE :-)

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwort
14.02.2024 11:44:31
Crazy Tom
moin

und was geht nicht?
in meinem Test wird das ausgeblendete Tabellenblatt nur mit richtigen Passwort eingeblendet

mfg Tom
AW: Passwort
14.02.2024 12:15:50
Uduuh
Hallo,
in DieseArbeitsmappe:
Private Sub Workbook_Open()

Sheets("protokoll").Visible = xlSheetVeryHidden
End Sub

Dann kannst du es nicht mehr per Menü einblenden.

Gruß aus'm Pott
Udo
AW: Passwort
14.02.2024 12:32:46
Yal
Hallo zusammen,

die Spielerei gefällt mir ;-)

Wie Udo sagt: nicht .Visible = False sondern .Visible = xlVeryHidden
Dann kann man nur per VBA wieder sichtbar machen. Aber herrlich gesagt, ist es trotzdem einen sehr schwachen Schutz.

Darüber hinaus kann man die PW maskieren. Nehmen wir an, 2 Blätter "Protokoll" und "Tabelle2" müssten ausgeblendet und je mit eigenen PW sichtbar gemacht werden:

Const cAktion = "Protokoll;827ccb0eea8a706c4c34a16891f84e7b|Tabelle2;ab56b4d92b40713acc5af89985d4b786"


Private Sub Workbook_Open()
Dim Arr
Dim W
Dim Eingabe
Arr = Split(cAktion, "|")
For Each W In Arr
Worksheets(Split(W, ";")(0)).Visible = xlVeryHidden
Next
Eingabe = MD5Hex(InputBox("Geben Sie eine Password ein:"))
For Each W In Arr
If Eingabe = Split(Arr, ";")(1) Then Worksheets(Split(Arr, ";")(0)).Visible = True
Next
End Sub


zusätzlich wird die Funktion md5hex in einem allg. Modul abzulegen sein:
Public Function MD5Hex(textString As String) As String

Dim enc
Dim Encoder
Dim bytes
Dim outstr As String
Dim Pos

Set Encoder = CreateObject("System.Text.UTF8Encoding")
Set enc = CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")
bytes = enc.ComputeHash_2(Encoder.GetBytes_4(textString))
For Pos = 1 To LenB(bytes)
outstr = outstr & LCase(Right("0" & Hex(AscB(MidB(bytes, Pos, 1))), 2))
Next
MD5Hex = outstr
End Function


827ccb0eea8a706c4c34a16891f84e7b ist übrigens der md5-Hasch von 12345 ( debug.print md5hex("12345") )und
ab56b4d92b40713acc5af89985d4b786 von abcde .
Ein bischen Vorbereitungsaufwand hat man damit schon.

Sehr schwaher Schutz, weil jeder könnte in der Direkt-Fenster worksheets("Protokoll").Visible = True reintippen und sichtbar ist das Blatt. Ohne PW!

VG
Yal
Anzeige
AW: Passwort
14.02.2024 12:40:31
Simone
Top jetzt funktioniert alles.

Dankeschön an alle :-)
AW: Passwort
14.02.2024 22:54:00
schauan
Hallöchen (Yal),

Voraussetzung für das Gelingen mit System.Text.UTF8Encoding usw. ist

Userbild

--> Falls nicht auf dem Rechner vorhanden, wird das heruntergeladen und installiert. Standard unter W11 ist die 4.8, in der Auflistung darunter.


AW: Passwort
15.02.2024 10:00:33
Yal
Hallo Schauan,

vielen Dank für die wichtige Hinweis. Ich hatte was darüber gelesen, könnte aber nicht entdecken, welche Ersatz für "System.Security.Cryptography.MD5CryptoServiceProvider" unter .net 4.8. zu verwenden ist. Falls Dir da was bekannt ist, nehme ich es gern an.

Das md5 ist in dem Fall nur eine Spielerei, da der "Schutz" quasi nicht vorhanden ist. Man musste den Code-Bereich ebenfalls mit einem Password schutzen, aber auch da kann man von einem anderen Datei aus die Blätter einblenden ).

VG
Yal
Anzeige
Danke
15.02.2024 12:03:01
Yal
endlich mal etwas einigermassen aktuelles zum Thema.

VG
Yal
AW: Passwort
14.02.2024 12:08:44
Simone
Hallo Tom,
ich habe es im Tabellenblatt den Code eingefügt. Ich kann aber trotzdem das Tabellenblatt ein uns ausblenden ohne das der Code greift und ich ein Passwort eingeben muss.

Danke

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige