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

VBA Kennwort

VBA Kennwort
31.12.2007 09:48:00
Lorenz
Hallo u. guten Morgen allerseits!
Dies wurde zwar schön öfters in diesem Forum gefragt, habe aber trotz vielfachen recherchieren & Googeln nichts passendes gefunden.
folgendes Problem (Wunsch): Ich möchte die Passwortgeschützte "VBA Projekt-Sperre" mittels VBA aufheben. Das Aufheben sollte nur über VBA geschehen(Ohne nötigen Usereingriff). Eine Setzung der Sperre ist nachher nicht mehr notwendig, da nach Aufhebung die (einige) CODE-TEILE mittels VBA entfernt(geändert) wurden.
Hat vielleicht jemand sowas schon mal gesehen, oder eine eigene Lösung gebastelt?
PS: Das Passwort ist bekannt (es muss nicht gecrackt werden).
vielen Dank im voraus & Grüsse
Lorenz

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Kennwort
31.12.2007 09:57:00
Hajo_Zi
Hallo Lorenz,
nach schließn der Datei ist das VBA Projekt wieder geschützt.

Sub VBA_unlocking()
SendKeys ("%{f11}")
SendKeys ("%xi")
SendKeys ("Passwort") 'VBA Kennwort
SendKeys ("{Enter}")
SendKeys ("{Enter}")
End Sub


Von Schauan André

AW: VBA Kennwort
31.12.2007 10:05:56
Lorenz
Hallo Hajo!
Danke das wars!
Ich hatte selbigen CODE von Schauan André gestern schon verwendet, da tat sich aber jedesmal das Fenster auf um das Passwort manuell einzugeben. Vielleicht habe aber ich etwas falsch gemacht, da dies heute nicht der Fall war.
Gruss Lorenz

Anzeige
AW: VBA Kennw. autom. m. Benutzernamen entsperren?
31.12.2007 16:05:00
Bernd
Hallo Hajo,
sehr interessanter Code. Ich bearbeite vielen Dateien, die mit VBA versehen sind und an dessen Code (Passwort ist bekannt), ich öfters mal ran muss.
Kann man denn deinen Cder erweitern um die Benutzerabfrage, wenn also z.B. Benutzer "Bernd" festgestellt wird, wir der VBA-Schutz "automatisch" aufgehoben?
Danke Dir vorab.
Grüße
Bernd

AW: VBA Kennw. autom. m. Benutzernamen entsperren?
31.12.2007 16:07:36
Hajo_Zi
Hallo Bernd,
den aktuellen Benutzer kannst Du mit Environ("USERNAME") feststellen.
Gruß Hajo

AW: VBA Kennw. autom. m. Benutzernamen entsperren?
31.12.2007 16:21:00
Bernd
Ja, schon Hajo,
aber wie baue ich denn diesen Befehl in den Code ein, damit er bei einem bestimmten Username den VBA-Code frei schaltet?
Grüße und Danke vorab
bernd

Anzeige
AW: VBA Kennw. autom. m. Benutzernamen entsperren?
31.12.2007 16:22:00
Hajo_Zi
Hallo Bern,
If Environ("USERNAME")="Bernd" Then
'der Code
end if
Gruß Hajo

@Hajo: Danke f.d. Hnweis. Funkt. jetzt. o.W.
31.12.2007 18:22:47
Bernd

AW: VBA Kennwort
31.12.2007 17:06:20
Lorenz
Hallo Hajo!
Mit dem Code wird zwar der Passwortschutz aufgehoben, er ändert aber auch den Projektnamen.
mit SendKeys ("Test") 'VBA Kennwort ändert er den Projektnamennamen auf Test
Kann man dies eventuell abstellen?
Grüsse
Lorenz

AW: VBA Kennwort
Hajo_Zi
Hallo Lorenz,
dazu kann ich nichts schreiben. Ich habe den Code auch nur übernommen.
Gruß Hajo

Anzeige
@Lorenz
31.12.2007 18:21:25
Bernd
Hi Lorenz,
das Problem habe ich auch, konnte es aber lösen, wenn auch etwas umständlich:
Datei noch einmal aufmachen, im VBA-Projekt unter "Allgemein/Projektname" den gewünschten Namen eingeben und dann ist dieser dauerhaft gespeichert, wird also nicht mehr überschrieben.
Grüße
Bernd

AW: @Lorenz
31.12.2007 19:29:00
Lorenz
Hi Bernd!
Dein Tipp war OK. Habs genauso gemacht u. es wirkt.
Danke Lorenz

AW: VBA Kennwort
31.12.2007 19:00:00
mumpel
Hallo!
Ich mache das mit dem folgenden Code. Der Projektname wird damit nicht geändert. Das Kennwort habe ich im VBA-Standardzweig der Registry abgelegt.

Sub MRTCode()
Application.EnableCancelKey = xlDisabled
Dim Excelversion As Byte
If (Environ("COMPUTERNAME") = ComPuterName1 And GetSetting("Test", "Test",  _
"Key1= GetSetting("Test", "Test", "Key2")) Or _
(Environ("COMPUTERNAME") = ComPuterName2 And GetSetting("Test", "Test",  _
"Key1") = GetSetting("Test", "Test", "Key2")) Then GoTo fehler
MsgBox "Sie haben nicht die notwendige Berechtigung      " & vbCrLf & _
"zum Ausführen des Vorgangs. Dieses Makro ist     " & vbCrLf & _
"ist dem Autor vorbehalten." & vbCrLf & vbCrLf & _
"              Vorgang abgebrochen.               ", vbExclamation + vbOKOnly, " ***  _
Hinweis des Autors *** "
Exit Sub
fehler:
If Excelversion >= 10 Then
On Error GoTo xpfehler
End If
SendKeys ("%{F11}"), True
If Application.VBE.ActiveVBProject.Protection Then
Select Case Excelversion
Case "8"
SendKeys ("%xs" & GetSetting("Test", "Test", "Test") & "{ENTER}{ENTER}"), True
Case Else
SendKeys ("%xi" & GetSetting("Test", "Test", "Test") & "{ENTER}{ENTER}"), True
End Select
End If
Exit Sub
xpfehler:
MsgBox "Dieses Makro benötigt den direkten Zugriff auf VBA." & vbCrLf & vbCrLf &  _
"Bitte aktivieren Sie im Menü ""Extras - Makro - Sicherheit... - Vertrauenswürdige Quellen""
die Option ""Zugriff auf Visual Basic-Projekt vertrauen""" & vbCrLf & vbCrLf &  _
"Bitte lesen Sie auch die Microsoft Sicherheitshinweise zu dieser Einstellung! (Hilfe)"
Exit Sub
End Sub


Gruß, Rene

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige