|
我在模块名称为“MyModule”的代码区最后,加了如下几行代码,准备用于发布文件时删除全部代码,但目前测试时想先删除模块的最前面几行作为测试验证,可一直不能正常工作,测试时仅仅是屏幕一闪而过。不能真正删除指定的几行。请大家帮忙看看那错误出在哪里?
'*******************************
'*****删除所有宏代码*****
'********************************
Sub Distribute()
Dim Wb As Workbook
Dim FileName As String
Dim Vbc As VBComponent
FileName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
Application.EnableEvents = False
Application.DisplayAlerts = False
Set Wb = Workbooks.Open(FileName)
For Each Vbc In Wb.VBProject.VBComponents
If Vbc.Type <> vbext_ct_Document Then
If Vbc.Name = "MyModule" Then
Vbc.CodeModule.DeleteLines 3, 2 '测试删除从前面第三行开始的接下来的2行
Else
Wb.VBProject.VBComponents.Remove Vbc
End If
End If
If Vbc.Type = vbext_ct_Document Then
Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines
End If
Next
'Wb.Close True
Application.EnableEvents = True
End Sub
|
|