selbstlöschendes Makro
16.01.2004 07:41:12
Geri
Ich habe ein Makro, das die Module aus einer Arbeitsmappe entfernt ( Prozedur MakroLoeschen ) die funktioniert.
Problem : das funktioniert nur wenn das Projekt nicht zur Anzeige gesperrt ist.
Habe mit SendKeys versucht ( Prozedur löschen ) das Projekt zur Anzeige freizugeben , bekomme aber immer einen Laufzeitfehler "50289" Die Operation kann nicht durchgeführt werden, solange das Projekt geschützt ist.
Gibt es eine andere Möglichkeit per VBA Code das Projekt zur Anzeige freizugeben ?
anbei der Code, vielen Dank im voraus für eure Hilfe.
Sub löschen()
SendKeys ("%{F11}")
SendKeys ("%xi")
SendKeys ("a") ' Password senden
SendKeys ("{TAB}")
SendKeys ("{Enter}")
SendKeys ("^{TAB}")
SendKeys (" ")
SendKeys ("{TAB}")
SendKeys ("{DEL}")
SendKeys ("{TAB}")
SendKeys ("{DEL}")
SendKeys ("{TAB}")
SendKeys ("{Enter}")
Call MakroLoeschen
End Sub
Sub MakroLoeschen()
Application.ScreenUpdating = False
Dim bl As Worksheet
With ActiveWorkbook.VBProject
For Each bl In Worksheets
With .vbComponents(bl.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
Next bl
With .vbComponents("Modul2").CodeModule
.DeleteLines 1, .CountOfLines
End With
With .vbComponents("Modul1").CodeModule
.DeleteLines 1, .CountOfLines
End With
End With
SendKeys ("%{F11}")
SendKeys ("%f")
SendKeys ("2")
SendKeys ("%d")
SendKeys ("t")
SendKeys ("{TAB}")
SendKeys ("{Enter}")
SendKeys ("%d")
SendKeys ("t")
SendKeys ("{TAB}")
SendKeys ("{Enter}")
SendKeys ("%{F11}")
Application.ScreenUpdating = True
End Sub