拿分来了,借着楼主的问题我也好好学习了一下.
以上代码从很多地方查到的,可以删除模块,窗体,以及工作簿工作表模块中的VBA代码.
工作簿事件,放进Thisworkbook里面。
工作簿保存的时候自动删除代码和模块。
楼主应该也是高手,我也不多解释了(主要我还一知半解着呢,呵呵)。如果不想用Workbook_BeforeClose,也可以用
Workbook_BeforeSave事件
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
'这里放你的命名代码吧
With ActiveWorkbook.VBProject
For i = .VBComponents.Count To 0 Step -1
.VBComponents(i).CodeModule.DeleteLines 1, .VBComponents(i).CodeModule.CountOfLines
.VBComponents.Remove .VBComponents(i)
Next
End With
End Sub
*********
如果只是Alt+F8不显示宏的话,
你的宏前面加上Private这个宏就不会显示在宏列表中了。
Private Sub Macro1()
str1 = CStr(Range("Sheet1!C11").Value)
str2 = CStr(Range("Sheet1!D1").Value)
ActiveWorkbook.SaveCopyAs str1 + " " + str2 + ".xls"
End Sub
一楼的代码是对的!强