Ewald
2006-03-08 08:42:27 UTC
Hallo NG,
mit Sendkeys möchte ich das VBAProject-Passwort zurücksetzen, um VBA-Module
zu löschen. Hintergrund: von einer Mappe erstelle ich eine Light-Version.
Die Prozedur:
Sub PWaus()
SendKeys "%{F11}%xi" & "Passwort" & "{ENTER}{TAB 6}{ENTER}", True
End Sub
Beim Löschen der Module tritt Fehler 50289: Die Operation kann nicht
durchgeführt werden, solange das Projekt geschützt ist, auf.
Rufe ich das Makro aus der EXCEL-Oberfläche mit Alt-F8 auf, wird der Schutz
des VBA-Projekts aufgehoben und die Verarbeitung funktioniert.
Der Unterschied ist wohl, das ich den Schutz aufhebe BEVOR nach VB
gewechselt wird. Mein Problem ist dies nun Programmtechnisch zu lösen, woran
ich aber scheitere.
Auch Application.Run "PWaus" führte nicht zum Erfolg.
Danke für jeden Hinweis.
Der Code der "händisch(Alt-F8)" funktioniert:
Public Const Pw1 As String = "test"
Sub PWaus()
'entsperren des VB-Projekts
SendKeys "%{F11}%xi" & Pw1 & "{ENTER}{TAB 6}{ENTER}", True
Exit Sub
End Sub
Sub PWein()
On Error GoTo Fehler
'sperren des VB-Projekts
SendKeys "%{F11}%xi{TAB 9}{RIGHT}{TAB 2}" & Pw1 & "{TAB}" & Pw1 &
"{ENTER}%{F4}"
End Sub
Sub Löschen()
With ActiveWorkbook.VBProject
.vbcomponents.Remove .vbcomponents("Modul2")
End With
End Sub
MfG
Ewald
mit Sendkeys möchte ich das VBAProject-Passwort zurücksetzen, um VBA-Module
zu löschen. Hintergrund: von einer Mappe erstelle ich eine Light-Version.
Die Prozedur:
Sub PWaus()
SendKeys "%{F11}%xi" & "Passwort" & "{ENTER}{TAB 6}{ENTER}", True
End Sub
Beim Löschen der Module tritt Fehler 50289: Die Operation kann nicht
durchgeführt werden, solange das Projekt geschützt ist, auf.
Rufe ich das Makro aus der EXCEL-Oberfläche mit Alt-F8 auf, wird der Schutz
des VBA-Projekts aufgehoben und die Verarbeitung funktioniert.
Der Unterschied ist wohl, das ich den Schutz aufhebe BEVOR nach VB
gewechselt wird. Mein Problem ist dies nun Programmtechnisch zu lösen, woran
ich aber scheitere.
Auch Application.Run "PWaus" führte nicht zum Erfolg.
Danke für jeden Hinweis.
Der Code der "händisch(Alt-F8)" funktioniert:
Public Const Pw1 As String = "test"
Sub PWaus()
'entsperren des VB-Projekts
SendKeys "%{F11}%xi" & Pw1 & "{ENTER}{TAB 6}{ENTER}", True
Exit Sub
End Sub
Sub PWein()
On Error GoTo Fehler
'sperren des VB-Projekts
SendKeys "%{F11}%xi{TAB 9}{RIGHT}{TAB 2}" & Pw1 & "{TAB}" & Pw1 &
"{ENTER}%{F4}"
End Sub
Sub Löschen()
With ActiveWorkbook.VBProject
.vbcomponents.Remove .vbcomponents("Modul2")
End With
End Sub
MfG
Ewald