(VBA)Word中对选中的行(代码行)自动编号并修改注释的颜色

来源:互联网 发布:mac关闭程序 编辑:程序博客网 时间:2024/05/16 18:58

说实话,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




原创粉丝点击