Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Passwortabfrage über userform

Passwortabfrage über userform
21.08.2005 11:24:08
Sören
Hallo leute, einen schönen sonntag wünsche ich vorab.
ich habe ein problem.
ich möchte meine exceldatei folgendermaßen konfigurieren:
Bei aufruf der exceldatei:
soll ein userform (schon vorhanden) erscheinen, welches eine passwortabfrage fordert und zwar soll einmal in einem kombinationsfeld eine benutzerkennung gewählt werden.(bspw. "admin", "user") und anschließend ein mit sternchen verschlüsseltes kennwort (bei "admin" = "123" und bei "user" = "456" über ein textfeld abgefragt werden.
wenn nun das kennwort bei "admin" "123" eingeben wurde und über einen button OK bestätigt wurde, soll das makro X ausgeführt werden. bei korrekter eingabe bei "user" und "456", soll makro Y ausgeführt werden. bei unkorrekter eingabe soll eine messagebox erscheinen "kennungen falsch eingegeben..." mit button "wiederholen" oder "abbrechen". bei klick "wiederholen" prozedur von vorne, bei klick "abbrechen" datei schließen.
hat einer einen vorschlag für mich.
gruß,
sören

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwortabfrage über userform
21.08.2005 12:20:44
Rocky
Hallo Sören,
ich glaub um das zu verwirklichen solltest du wenigstens ein par VBA kenntnisse haben!
ich hab zwei vorschläge für dich
1. lass die variante mit admin und user und gehe unter DATEI-Speichern unter-EXTRAS-Allgemein Optionen und vergib ein einziges Passwort.
2. hier auf der Forum seite weht oben eine Farne und daneben hat herber nen paar textbox varianten reingestellt(unteranderem auch paswort abfrage) schau dir das mal an. vieleicht ist das was für dich!
solltest du gar nicht weiterkommen meld dich mal und stell die Dat mal rein dann erbamht sich bestimmt einer und baut drin rum!
gruß Rocky
Anzeige
man bin ich Schaf! ich habs doch gemacht!
21.08.2005 12:42:05
Rocky
Hallo nochmal,
ich dachte vieleicht bau ich mal ne runde.
https://www.herber.de/bbs/user/25872.xls
ich hoffe es ist das was du dir vorgestellt hast?
Gruß Rocky
AW: man bin ich Schaf! ich habs doch gemacht!
21.08.2005 15:38:08
Sören
Hi rocky,
ich dank dir. das ist genial.
naja, dass ich überhaupt keine vba kenntnisse habe, ist gelogen,... aber eben auch keine "GUTEN"!
schönen sonntag noch!
gruß,
sören
AW: man bin ich Schaf! ich habs doch gemacht!
21.08.2005 17:02:57
Sören
hallo hab doch nochmal eine frage:
ich möchte ja, das der benutzer die exceldatei NUR unter korrekter eingabe der benutzername/passwort-kombination öffnen kann! ansonnsten darf KEIN zugriff auf die datei möglich sein!!!
ich setze das makro doch dann ins "private sub workbook_open()" ,oder?
oder gibts da ne andere methode? die datei öffnet sich ja dann trotzdem...
und wenn der benutzer am anfang "makros deaktiviert", kann er die datei ja so öffnen!
das ist ein problem!
kann mir jemand helfen?
hier noch mal der upload

Die Datei https://www.herber.de/bbs/user/25878.xls wurde aus Datenschutzgründen gelöscht

Anzeige
AW: man bin ich Schaf! ich habs doch gemacht!
21.08.2005 17:08:52
Peter W
Servus,
da kann dir leider keiner helfen, Excel ist nun mal nicht sicher.
Das einzige was du machen kannst, verstecke alle Sheets bis auf einen mit Sheets("Name").visible=-1.
Sonst ist mit einfachen Boardmitteln nichts zu machen.
Allerdings ist selbst wenn der VBA Code mit PW geschützt ist, das ganze in 1 Minute ausgehebelt.
MfG Peter
AW: man bin ich Schaf! ich habs doch gemacht!
21.08.2005 17:25:59
Ramses
Hallo
Du sagtest doch dein VBA-Level sei "Nicht Nein" aber auch nicht "GUT" ;-)
Das Schliessen einer Datei sollte da also doch möglich sein, wenn das Passwort eingegeben wurde.
Workaround, setze alle Sheets bis auf ein leeres blatt beim Schliessen der Mappe auf "Visible = xlVeryHidden" und schütze das VBA-Projekt.
Dann hat zumindest der Durchschnittsuser Probleme da ran zu kommen.
Ansonsten muss ich Peter Recht geben.
Das löschen des VB-Passwortes dauert bei Cracks mit dem nötigen KnowHow nur etwa 1 - 2 Minuten.
Gruss Rainer
Anzeige
AW: man bin ich Schaf! ich habs doch gemacht!
21.08.2005 17:58:09
K.Rola
...und weniger, lieber Ramses.
Gruß K.Rola
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 08:34:49
Rocky
Hallo Sören,
die anderen haben recht! ich hab den Vorschlag vom Toten Pharao mal in die DAT eingearbeitet und häng sie dir mal ran.
https://www.herber.de/bbs/user/25882.xls
Hilft dir das weiter oder gibts weitere Fragen?
gruß Rocky
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 09:39:50
Sören
hallo leute,
ich danke euch vielmals für eure hilfe.
habe das jetzt alles umgesetzt. ist das jetzt alles, was man als "sicherung" für die datei tun kann?
gruß,
sören
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 09:49:24
Ramses
Hallo
"..ist das jetzt alles, was man als "sicherung" für die datei tun kann?..."
Die letzte Sicherung ist:
Gib die Datei nicht weiter :-)
Gruss Rainer
Anzeige
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 09:53:21
Sören
hallo rainer.
spitzenwitz :-)
aber für den otto-normal-verbraucher, ist das wohl auch genug.
danke nochmal.
sören
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 10:10:04
Sören
eine frage gibt es noch.
ich habe bei meinem user form den "schließen button" [(X)-Button des UF) deaktiviert.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'   Damit mit X nicht geschloßen werden kann
If CloseMode = 0 Then Cancel = 1
End Sub

besser wäre jedoch, dass er gar nicht da wäre. wie kriegt man das hin?
gruß,
sören
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 10:20:19
Ramses
Hallo
Kopiere den Code in das Userform

Option Explicit

Private Declare Function FindWindow Lib "user32" Alias _
    "FindWindowA" (ByVal lpClassName As String, ByVal _
    lpWindowName As String) As Long

Private Declare Function GetWindowLong Lib "user32" Alias _
    "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex _
    As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias _
    "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex _
    As Long, ByVal dwNewLong As Long) As Long

Private Declare Function DrawMenuBar Lib "user32" (ByVal _
    hwnd As Long) As Long

Private Const GWL_STYLE As Long = -16
Private Const WS_SYSMENU As Long = &H80000

Private hWndForm As Long
Private bCloseBtn As Boolean


Private Sub UserForm_Initialize()
    If Val(Application.Version) >= 9 Then
        hWndForm = FindWindow("ThunderDFrame", Me.Caption)
    Else
        hWndForm = FindWindow("ThunderXFrame", Me.Caption)
    End If
    bCloseBtn = False
    SetUserFormStyle
End Sub



Private Sub SetUserFormStyle()
    Dim frmStyle As Long
    If hWndForm = 0 Then Exit Sub
    frmStyle = GetWindowLong(hWndForm, GWL_STYLE)
    If bCloseBtn Then
        frmStyle = frmStyle Or WS_SYSMENU
    Else
        frmStyle = frmStyle And Not WS_SYSMENU
    End If
    SetWindowLong hWndForm, GWL_STYLE, frmStyle
    DrawMenuBar hWndForm
End Sub

Darauf achten dass kein anderes Initialize-Ereignis besteht, ansonsten den Code diese Ereignisses in das oben gezeigte Beispiel kopiern.
Gruss Rainer
Anzeige
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 11:07:53
Sören
hallo rainer.
klappt super.
weiteres problem in diesem zusammenhang.
mein tool sieht so aus:
ein user startet meine anwendung über seine passwort-eingabe. es folgt ein selbstkreiertes design der excelumgebung mit allerlei selbst-erstellten menüleisten, etc...
dieses erfolgt alles über das workbook_open()-ereignis.
der user soll jedoch während diese anwendung offen ist, auch andere externe exceldateien öffnen können. in diesem fall wir die komplette modifizierte umgebung über das workbook deactivate()-ereignis wieder zurückgesetzt, so dass die normale excel-umgebung wieder zutage kommt.
wenn er jedoch jetzt wieder zurückwechselt, soll jedoch wieder das angepasste design meiner anwendung auftauchen!
dieses kann man ja jetzt über workbook_activate() erreichen.
wenn ich das jedoch jetzt so mache, wird ja beim normalen start der anwendung die passwortabfrage beim workbook_open()-ereignis hinfällig,oder? da ja workbook_open und workbook_activate zugleich ablaufen!?
gruß,
sören
Anzeige
AW: man bin ich Schaf! ich habs doch gemacht!
22.08.2005 11:13:13
Ramses
Hallo
Solange das Userform offen ist, ist das Activate- und Deactivate Ereignis nicht aktiv.
Ich denke du solltest es nun gut sein lassen.
Ich steige aus
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige