Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
VBA-Schutz für das Projekt aufheben
18.05.2008 14:52:48
Becker
Hallo liebe Experten,
Wie kann ich den VBA-Schutz für das eigene Projekt aufheben um ein Modul2 zu löschen?
Das Passwort ist mir bekannt „123“. Zugriff auf das VBA-Projektobjektmodell ist angehakt worden.
Ich will nach vorgegebene Zeit das ein Modul2 aus MappeXY.xlsm gelöscht wird.
Aus diesen Forum (s.u.) habe ich mir was zusammengestellt. Mit „

Private Sub Workbook_Open()“  habe ich auch probiert mit wenig Erfolg.
Die Operation kann nur beim 2-ten Wiederholung durchgeführt werden.
Mit Sendkeys „aufrufen“ funktioniert wie gesagt, nur nach 2-ten Wiederholung.
Wenn man den „Modul2Löschen_nach_Zeit“ zwei mal hinterher ausführt dann funktioniert es.
Es solle aber beim ersten mal funktionieren und ich weiß es nicht wo ich den Fehler habe.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As  _
String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
'folgendes Makro kann per autostart gestartet werden.
' Ist das aktuelle Datum kleiner als das vorgegebene, passiert nicht.
' Ist das aktuelle Datum gleich oder größer, wird gelöscht.
Sub Modul2Löschen_nach_Zeit()
On Error Resume Next
If Date > DateSerial(2008, 5, 17) Then
'If Date >= Range("Tabelle1!A1") Then 'in A1 ist das Datum vorgegeben.
' hier wird der VBA-Schutz aufgehoben, falls geschützt
aufrufen
Modul_Löschen
Else
End If
End Sub


Sub aufrufen()
'''Hier wird VBA Editor aufgerufen und den Passwort sollte freigegeben werden
Dim FreiSchaltCode As String
FreiSchaltCode = "123" 'Passwort
With Application
.OnKey "%{F11}"
End With
SendKeys ("%{F11}"), True
If Application.VBE.ActiveVBProject.Protection Then
SendKeys ("%xi" & FreiSchaltCode & "{ENTER}{ENTER}"), True '' für XLS2000 und XP
End If
End Sub


Sub Modul2_Löschen()
Set VBP = Application.VBE.ActiveVBProject
VBP.VBComponents.Remove VBP.VBComponents("Modul2")
MsgBox "Modul2 sollte jetzt weg sein"
End Sub


Für jede Hilfe und Anweisung vielen Dank schon jetzt.
Netten Gruß Daniel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Schutz für das Projekt aufheben
18.05.2008 15:01:00
Hajo_Zi
Hallo Daniel,
zu Schutz aufheben.

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


' von Schauan André
' Den Projektnamen in Eigenschaften sollten man bei diesem Code schon von Hand
' geändert haben. Ansonsten wird dort das Passwort eingetragen.

AW: VBA-Schutz für das Projekt aufheben
18.05.2008 16:19:57
Becker
Hallo Hajo,
vielen Dank für Deinen raschen Antwort. Bekomme wider das gleiche Problemm. D.h. wenn man den "VBA_unlocking" 2 mal ausführt erst dann wird Modul2 gelöscht.
Wenn ich "Modul2Löschen_nach_Zeit" einmal ausführe dann wird zuerst der Passwort von VBA aufgehoben wenn man danach noch einmal den "Modul2Löschen_nach_Zeit" ausführt erst dann wird der Modul2 gelöscht.
Müsste man immer davor (vielleicht beim "Private Workbook Open()") einmal den "VBA_unlocking" (was natürlich der Nachteil ist, weil die VBA Module geschützt sein sollen) ausführen und erst danach würde mein Code "Modul2Löschen_nach_Zeit" funktionieren.
Für jede Hilfe Danke ich Euch in voraus.
Gruß
Daniel

Anzeige
Frage noch offen o.w.T.
18.05.2008 18:17:00
Reinhard

AW: Frage noch offen o.w.T.
19.05.2008 16:59:00
Luschi
Hallo allen Vba-Kennwort-Interssierten,
in Excel 2000 - 2003 und 2007 ohne SP1 habe ich den mir bekannten Kennwortschutz per Vba so aufgehoben, wie es in der folgenden Datei passiert:
https://www.herber.de/bbs/user/52464.xls
Ab Excel 2007 + SP1 scheint dies nicht mehr zu funktionieren, da der eingesetzte Vba-SendKeys-Befehl nicht mehr übergebene Zeichenfolgen in 1 Textbox schreibt; also das aufgehende Fenster zur Eingabe des Vba-Kennwortes leer bleibt.
Wer sich den Vba-Code näher ansieht, wird merken, daß hier wesentlich mehr passiert, als daß, was man sonst in Excel-Foren über dieses Thema so liest.
Wer 1 oder mehrehre AddIns beim Starten von Excel ladet, muß zuerst das Vba-Projekt selektieren, bei welchem der Vba-Schutz entfernt werden soll; naja und der Rest der Erklärungen steht als Kommentar im Vba-Code.
Vba-Kennwort dieser Datei: xxx
Gruß von Luschi
aus klein-Paris
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige