如何用vba删除vba工程中指定组件代码中的空行或代码注释?

对于vba代码很多的时候,如果要批量删除vba代码中的代码注释,或者代码空行,可以使用如下的通用代码:

以下代码将批量删除工作表1中的所有vba代码中的注释和空行。

Sub QQ1722187970()
'   Dim oCM As CodeModule
'   Dim oVC As VBComponent
'   Dim oCMActive As CodeModule
   Dim oWK As Worksheet
   Set oWK = Excel.ThisWorkbook.Worksheets(1)
   sName1 = oWK.CodeName
   Set oVC1 = Excel.ThisWorkbook.VBProject.VBComponents(sName1)
   Set oCM1 = oVC1.CodeModule
   With oCM1
        '获取所有的代码行数
        iLine1 = .CountOfLines
        '逆序遍历
        For i = iLine1 To 1 Step -1
             strCode = .Lines(i, 1)
            '判断是否是注释
             If Left(Trim(strCode), 1) = "'" Then
                   .DeleteLines i, 1
             End If
             '判断是否空行
             If Len(Trim(strCode)) = 0 Then
                   .DeleteLines i, 1
             End If
        Next i
   End With
End Sub

 

       

发表评论