Public Sub AutoMarkCodes(ModuleName, ProcName)
'---------------------------------------------------------------------------------------
' Procedure : AutoMarkCodes
' DateTime : 2013-11-26 15:22
' Author : 叶海峰
' ModuleName:模块名
' Procname :过程或函数名
' 调用方法: Call AutoMarkCodes 模块名,过程名
' 注:该方法只适用于标准模块(包括窗体,报表中的过程等等),不适用与类模块,窗体模块名为 Form_窗体名,报表为Report_报表名
Dim mymodule As Module
Dim str As String
Dim i
Dim startline
Dim endline
Set mymodule = Application.Modules(ModuleName)
With mymodule
startline = .ProcBodyLine(ProcName, vbext_pk_Proc) + 1
endline = .ProcCountLines(ProcName, vbext_pk_Proc)
For i = startline To startline + endline
If .Lines(i, 1) Like "*End Sub*" Or .Lines(i, 1) Like "*End Function*" Then Exit For
.ReplaceLine i, "'" & .Lines(i, 1)
Next
End With
End Sub
Sub test()
AutoMarkCodes "模块1", "DataBaseInfo"
End Sub
如果需要指定对其中数行注释,请手动将stratline 和 endline变量赋值.