Sub Macro1()
Dim Vbc
Dim bk, bk1
Filename = Application.GetOpenFilename(FileFilter:="Excel 工作簿文件 (*.xls),*.xls", Title:="请选择文件")
If TypeName(Filename) = "Boolean" Then Exit Sub
Application.ScreenUpdating = False
bk = ActiveWorkbook.Name
With Workbooks.Open(Filename)
bk1 = ActiveWorkbook.Name
Workbooks(bk).Activate
For Each Vbc In Application.Workbooks(bk1).VBProject.VBComponents
Select Case Vbc.Type
Case 1, 2, 3
With Application.Workbooks(bk1).VBProject.VBComponents
.Remove .Item(Vbc.Name) '删除模块、类模块、窗体
End With
Case Else
Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines '删除工作表或Thisworkbook代码区代码
End Select
Next
.Close True
End With
Application.ScreenUpdating = True
MsgBox "ok"
End Sub