ich komme mit einem Code nicht klar. Er läuft unter Excel2000 sauber durch und schlägt bei ExcelXP mit einem Laufzeitfehler 1004 auf.
GrübelGrübel
Sub Projekt_loeschen()
Dim WB As Object
Dim VB_Comp As Object
Set WB = Workbooks(ActiveWorkbook.Name).VBProject '------HIER SCHLÄGT DER FEHLERTEUFEL ZU
If MsgBox("Sollen die Fertig-Schaltfläche und alle Automatismen in """ & _
ActiveWorkbook.Name & """ wirklich gelöscht werden?", _
vbYesNo + vbCritical + vbDefaultButton2) <> vbYes Then Exit Sub
If MsgBox("Bist Du wirklich sicher, dass alles fertig ist?! Es gibt nach der Bestätigung kein Zurück!!", vbYesNo + vbCritical + vbDefaultButton2) <> vbYes Then Exit Sub
For Each VB_Comp In WB.VBComponents
If VB_Comp.CodeModule.Parent.Type < 5 Then
WB.VBComponents.Remove VB_Comp
ElseIf VB_Comp.CodeModule.Parent.Type = 100 Then
VB_Comp.CodeModule.DeleteLines 1, _
VB_Comp.CodeModule.CountOfLines
End If
Next VB_Comp
' Antiquitäten löschen
Dim sh As Object
Application.DisplayAlerts = False
For Each sh In ActiveWorkbook.Excel4MacroSheets
sh.Delete
Next sh
For Each sh In ActiveWorkbook.DialogSheets
sh.Delete
Next sh
Application.DisplayAlerts = True
'Schaltfläche löschen
Dim sha As Shape
For Each sha In ActiveSheet.Shapes
If sha.FormControlType = 0 Then sha.Delete
Next
'Sichern
ActiveWorkbook.Save
End Sub