说实话,CSDN的这个插入代码的控件很好用,特别是自动添加行号的功能。
下面这段VBA代码就是在Word中,对你编辑的代码添加行号和对“//”以后的注释部分加上颜色。
用法:选中你希望添加行号的所有行,运行此VBA,即可在每行首添加“#001 ”字样的行号。对你选中的行,从1开始自动编号。你也可以把这段代码设置成一个按键,每次只要选中希望编号的行,然后点一下按键运行一下即可。
有时间再把对word中嵌入的代码的格式设置也加进来就更完美了~~~
以下代码在office2007中调试通过:
Sub 程序代码加行号()
Dim nLineNum '行号(数值)
Dim sLineNum As String '行号(文字)
Dim selRge As Range
Dim i
'------------以下变量变量用于将注释改为蓝色------------
Dim lineProgramRange As Range '单行程序代码范围
Dim commentRange As Range
Dim TextLine As String
Dim progComment As String
Dim RgnStart As Long
Dim RgnEnd As Long
Set selRge = Selection.Range
For nLineNum = 1 To selRge.Paragraphs.Count
sLineNum = Str(nLineNum)
sLineNum = LTrim(sLineNum)
'生成行号格式"001"
For i = 1 To (3 - Len(sLineNum))
sLineNum = "0" + sLineNum
Next i
'行号前加"#"
sLineNum = "#" & sLineNum
sLineNum = sLineNum + " "
'得到当前选中行 并设置颜色为蓝色
Set lineProgramRange = selRge.Paragraphs(nLineNum).Range
'Selection.Font.ColorIndex = wdBlue
lineProgramRange.Font.ColorIndex = wdBlue
selRge.Paragraphs(nLineNum).Range.InsertBefore (sLineNum)
'------------以下变量用于修改注释为绿色------------
Set lineProgramRange = selRge.Paragraphs(nLineNum).Range
TextLine = lineProgramRange.Text
charpos = InStr(1, TextLine, "//") 'C语言单行注释标志
If charpos <> 0 Then '存在注释的时候才需要处理
progComment = Mid(TextLine, charpos) '切割出注释文字
RgnStart = lineProgramRange.Start
RgnEnd = lineProgramRange.End
lineProgramRange.SetRange Start:=RgnStart + charpos - 1, End:=RgnEnd '感谢zhupanxin的修改
lineProgramRange.Select
Selection.Font.ColorIndex = wdGreen
End If
'------------以下用于修改关键字 颜色、字体------------
Next nLineNum
End Sub