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