Sub 删除宏代码及按钮2()
On Error Resume Next
PT = InputBox("请输入新文件名称", "文件名设置")
If PT = "" Then PT = "工资" & Format(Date, "YYYYMMDD")
FL = ThisWorkbook.Path & "\太阳\" & PT & ".XLS"
ActiveSheet.Copy
With ActiveWorkbook
For Each ms In .Sheets(1).Shapes
If ms.Type = 6 Or ms.Type = 8 Then ms.Delete
Next ms
For Each vbc In .VBProject.VBComponents
If vbc.Type = 100 Then
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines
End If
Next vbc
.SaveAs FL
.Close
End With
End Sub
确实很牛。
1、Type = 6 Type = 8 '帮助里查不到什么意思
For Each vbc In .VBProject.VBComponents '这一段的意思没看懂
If vbc.Type = 100 Then
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines.VBProject.VBComponents
Type = 6 你的这种组合了的控件
Type = 8 单个控件
For Each vbc In .VBProject.VBComponents '遍历各个宏
If vbc.Type = 100 Then ‘100是sheet的宏属性
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines.VBProject.VBComponents ’删除宏的所有内容