Sub 删除注释()
Dim iTotal As Integer '声明变量iTotal
Dim i As Integer '声明变量i
Dim k As Integer '声明变量k
Dim tmpStr As String '声明变量tmpStr
Dim SearchChar, MyPos, SearchChar1, MyPos1 '声明变量SearchChar, MyPos, SearchChar1, MyPos1
字符串截取前2位
SearchChar = "'"
SearchChar1 = "''"
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count '在VBE所有模块中循环
With ActiveWorkbook.VBProject.VBComponents.Item(i).CodeModule '用With语句简化代码
If ActiveWorkbook.VBProject.VBComponents.Item(i).Name <> "模块1" Then
iTotal = .CountOfLines '将模块中的代码行数赋值给iTotal
If iTotal > 0 Then '如果模块中的代码行数>0,则继续执行代码
For k = iTotal To 1 Step -1 '从代码的最后行向上循环
tmpStr = .Lines(k, 1) '将每行代码赋值给tmpStr
MyPos = InStr(1, tmpStr, SearchChar, 1) '定位SearchChar的位置
MyPos1 = InStr(1, tmpStr, SearchChar1, 1) '定位SearchChar1的位置
If Left(Trim(tmpStr), 1) = SearchChar And Left(Trim(tmpStr), 2) <> SearchChar1 Then '如果用Trim去掉字符串前后的空格后的前1位等于SearchChar,并且用Trim去掉字符串前后的空格后的前2位不等于SearchChar1
.DeleteLines k, 1 '删除整行
End If '结束If
If MyPos > 1 And MyPos1 = 0 And Left(Trim(tmpStr), 1) <> SearchChar Then '如果MyPos(')大于1,并
且MyPos1("")等于0,并且用Trim去掉字符串前后的空格后的前1位不等于SearchChar
tmpStr = Left(tmpStr, MyPos - 1) '用截取后的字符串替换原来的字符串
.DeleteLines k, 1 '删除整行字符串
.InsertLines k, tmpStr '执行替换
End If '结束If
If Len(Trim(tmpStr)) = 0 Then '如果是空行
.DeleteLines k, 1 '则直接删除整行代码
End If '结束If
Next k '继续执行下一行
End If '结束If
End If '结束If
End With '结束With
Next i '继续执行下一个模块
End Sub '结束代码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。