Hallo Rubin,
versuch es mal mit dem Makro, habe es unter Excel 2000 getestet, sollte auch mit Excel 2003 funktionieren.
Unter Excel 2007 fuktioniert es nicht.
Eine Kopie (Backup) der Arbeitsmappe wird erstellt und unter All User gespeichert (Pfad anpassen), Backup wird wieder geöffnet, alle Makros werden gelöscht, gespeichert und geschlossen.
Gruß
fedjo
Sub Backup()
Application.DisplayAlerts = False
Dim FName As String
'Name für die Sicherungskopie aus dem Namen der Originaldatei bilden
FName = Left(ActiveWorkbook.Name, _
InStr(ActiveWorkbook.Name, ".")) & _
"(backup).xls"
ActiveWorkbook.SaveCopyAs Filename:="C:\Dokumente und Einstellungen\All Users\" & FName 'Backup gespeichert
Workbooks.Open Filename:="C:\Dokumente und Einstellungen\All Users\" & FName 'Backup öffnen
Dim Ding As Object 'Makros werden gelöscht
Dim Zeile As Long
Dim Antwort As Integer
For Each Ding In ActiveWorkbook.VBProject.VBComponents
If Ding.Type = 100 Then
With ActiveWorkbook.VBProject.VBComponents(Ding.Name).CodeModule
For Zeile = 1 To .CountOfLines
.DeleteLines 1
Next Zeile
End With
Else
ActiveWorkbook.VBProject.VBComponents.Remove Ding
End If
Next
ActiveWorkbook.Save 'Backup wird gespeichert
ActiveWindow.Close 'Backup wird geschlossen
Application.DisplayAlerts = True
End Sub