从另一个VBA代码注释vba代码

我想从另一个代码VBA注释包含消息框的行。 我试图与图书馆VBA的可扩展性,但我没有find解决办法。

任何帮助是受欢迎的。

这是我的代码:

Sub CommentCode() Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim LineNum As Long Const QUOTE = ' Set VBProj = ActiveWorkbook.VBProject Set VBComp = VBProj.VBComponents("ThisWorkbook") Set CodeMod = VBComp.CodeModule With CodeMod LineNum = .CreateEventProc("Open", "Workbook") LineNum = LineNum + 1 .InsertLines LineNum, QUOTE End With End Sub 

首先请更改

Const QUOTE = '

对此:

Const QUOTE = "'"

基本上你的报价(或Rem )将是一个string,需要用引号括起来。

至于VB Extensibilty ,您可能需要删除一行find的行,并在开始处插入带注释的新行。

请参阅Chip Pearson:在VBA编辑器中进行编程

我已经find了解决这个问题的方法:

 Sub CommentCodeModule(wb As Workbook) Dim VBProj As VBIDE.VBProject Dim VBComp As VBIDE.VBComponent Dim CodeMod As VBIDE.CodeModule Dim WordToFind As String Dim SL As Long ' start line Dim EL As Long ' end line Dim SC As Long ' start column Dim EC As Long ' end column Dim Found As Boolean Dim LineNum As Long Set VBProj = wb.VBProject Set VBComp = VBProj.VBComponents("Module3") Set CodeMod = VBComp.CodeModule WordToFind = "test" With CodeMod SL = 1 EL = .CountOfLines SC = 1 EC = 255 Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _ EndLine:=EL, EndColumn:=EC, _ wholeword:=True, MatchCase:=False, patternsearch:=False) Do Until Found = False Debug.Print "Found at: Line: " & CStr(SL) & " Column: " & CStr(SC) EL = .CountOfLines SC = EC + 1 EC = 255 Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _ EndLine:=EL, EndColumn:=EC, _ wholeword:=True, MatchCase:=False, patternsearch:=False) Loop LineNum = SL .DeleteLines LineNum .InsertLines LineNum, " ' test" End With End Sub 

感谢所有帮助过我的人