Zentrale Paßwortablage

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: Zentrale Paßwortablage
von: Torsten K.
Geschrieben am: 28.11.2003 15:51:05

Hallo zusammen,

in ca. 60-70 Budgetdateien habe ich über Buttons Makros hinterlegt, deren Ausführung ich auf mich allein beschränkt habe, indem ich eine Paßwortabfrage vorangestellt habe (z.B. bestimmte WS ein-/ausblenden). Hintergrund: Die Dateien werden auch von anderen Usern genutzt.
Dafür habe ich in jeder Datei in einem Modul folgenden Code hinterlegt:

Option Explicit

Function GetPassword() As Boolean
Dim PW As String

PW = InputBox("Bitte Password angeben", "Passwortabfrage", "")

If PW = "Kennwort" Then
GetPassword = True
Else
GetPassword = False
End If

End Function


Der Code eines Button sieht dann so aus:


Private Sub cmb_SettingsShow_Click()
If GetPassword = True Then
    Sheets("Settings").Visible = True
    Sheets("Settings").Select
Else
    MsgBox "Password ist falsch"
End If
    
End Sub

Wenn ich jetzt aus welchen Gründen auch immer, daß Paßwort wechseln möchte, müßte ich alle 60-70 Dateien durchgehen und ändern.
Gibt es nicht eine Möglichkeit, dieses Paßwort oder diese Funktion zentral in einer Datei einzustellen, und die Buttons der Budgetdateien darauf referieren zu lassen? Wenn ja, wie müßte ich den oben genannten Code anpassen und was muß ich sonst noch dabei berücksichtigen?
Als VBA-Einsteiger bin für Eure Hilfe sehr dankbar.
Gruß

Torsten
Bild


Betrifft: AW: Zentrale Paßwortablage
von: Russi
Geschrieben am: 28.11.2003 16:24:33

Hallo Torsten!

Was Du willst ist ziemlich problematisch.

Lösung 1: Passwort kann in einer zentral ereichbaren Datei hinterlegt werden, die abgerufen wird. Das müßte aber wahrscheinlich im Klartext gespeichert werden und das ist nicht Sinn der Sache.

Lösung 2: Du entwickelst ein Modul, welches automatisch alle Makros in alles Dateien an der betreffenden Stelle abändert. Was aber saukompliziert und aufwendig ist (Beispiel unter https://www.herber.de/forum/archiv/144to148/t144270.htm). Und es setzt voraus, dass alle Deine Dateien gleich aufgebaut sind, damit Du automatisiert auf die Codes zugreifen kannst.

Russi


Bild


Betrifft: AW: Zentrale Paßwortablage
von: Torsten K.
Geschrieben am: 28.11.2003 17:23:58

Hallo Russi,

vielen Dank für Deine Antwort.
"Sauschwere" Dinge sind für mich als VBA-Einsteiger noch nichts! :-)
Daher probiere ich mal den Vorschlag von Mathhias G.

Gruß
Torsten


Bild


Betrifft: AW: Zentrale Paßwortablage
von: Matthias G
Geschrieben am: 28.11.2003 16:30:31

Hallo Torsten,
mal so als Anregung:
Schreibe in eine neue Excel-Tabelle in Tabelle1, Zelle A1 das Kennwort.
Speichere die Datei mit einem Lese/-Schreibschutzkennwort.
Dieses Kennwort sollte immer gleich bleiben (sonst ist der Aufwand wieder genauso groß!) im Beispiel zur Vereinfachung "masterpasswort"

Dann folgende Funktion in jede Datei (naja, einmal musst du das halt noch 60-70 mal machen):

Function GetPassword() As Boolean
Dim PW, pass As String
'geschützte Datei öffnen
Workbooks.Open "C:\pw\pw.xls", Password:="masterpasswort"
'und Kennwort auslesen
pass = Workbooks("pw.xls").Sheets(1).[A1].Value
Workbooks("pw.xls").Close
PW = InputBox("Bitte Password angeben", "Passwortabfrage", "")
If PW = pass Then
GetPassword = True
Else
GetPassword = False
End If
'Passwort-Variable wieder löschen
pass = ""
End Function

Die Funktion öffnet die geschützte Kennwort-Datei, liest die Zelle aus und schließt die Datei wieder. der Rest geschieht wie im deinem Code. Den Makro-Quellcode musst du natürlich (wieder mit einem Kennwort!) zur Anzeige sperren.

100%ige Sicherheit gibt es in Excel nicht, aber die obige Vorgehensweise halte ich für einigermaßen sicher.
Vor allem sollte die Passwort-Datei vor (versehentlichem) löschen geschützt sein.
Gruß,
Matthias


Bild


Betrifft: AW: Zentrale Paßwortablage
von: Torsten K.
Geschrieben am: 28.11.2003 17:16:37

Hallo Matthias,

vielen Dank für Deine Anregungen.
Ich werde es probieren, sobald ich ein bischen Luft habe
im Büro. Rückmeldung könnte also etwas dauern.

Gruß

Torsten


Bild


Betrifft: AW: Zentrale Paßwortablage
von: Nepumuk
Geschrieben am: 28.11.2003 20:18:07

Hallo Torsten,
schreib es in die Registry.

Option Explicit
Public Sub Kennwort_schreiben() 'Das muss in eine eigene Datei
    SaveSetting AppName:="Kennwort", Section:="Kennwort", Key:="Kennwort", Setting:="meinKennwort"
End Sub
Function GetPassword() As Boolean 'deine geänderte Funktion
    If InputBox("Bitte Password angeben", "Passwortabfrage", "") = _
    GetSetting(AppName:="Kennwort", Section:="Kennwort", Key:="Kennwort", Default:="") Then GetPassword = True
End Function


Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk


Bild


Betrifft: AW: Zentrale Paßwortablage
von: Torsten K.
Geschrieben am: 28.11.2003 22:20:27

Hallo Nepumuk,

Danke für Deine Tipps.
Wenn's die Arbeit wieder erlaubt, werde ich's ausprobieren.
Eine Rückmeldung wird also etwas dauern.

Gruß

Torsten


Bild

Beiträge aus den Excel-Beispielen zum Thema " Fehler bei selection.clearContents"