天天看點

VBA之四----給程式自動加行号

Sub 程式自動加行号()

    Dim nLineNum

    Dim sLindNum As String

    Dim selRge As Range

    '以下變量用于"将注釋改為藍色"

    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        '首先記錄Selection

    For nLineNum=1 to selRge.Paragraphs.Count   '針對每個段落

        sLineNum=str(nLineNum)     '行号轉為文字

        sLineNum=LTrim(sLineNum)   '去除字元串開頭和結尾的空格

        For i=1 to  (3-Len(sLineNum))       

            sLineNum="0"+sLineNum

        Next i

        sLineNum="#" & sLineNum

        sLineNum=sLinNum+" "

        selRge.Paragraphs(nLineNum).Range.InsertBefore(sLineNum)

        '将注釋改為藍色

        Set lineProgramRange=selRge.Paragraphs(nLineNum).Range

        TextLine=lineProgramRange.Text     '取得整行文字

        CharPos=InStr(1,TextLine,Chr(39))     '尋找注釋起始點

        If CharPos<>0 Then

            ProgComment=Mid(TextLine,CharPos+1)     '切割出注釋文字

            RgnStart=lineProgramRange.Start

            RgnEnd=lineProgramRange.End

            lineProgramRange.SetRange Start:=RgnStart+CharPos,

                                        End:=RgnEnd

            lineProgramRange.Select

            Selection.Font.ColorIndex=wdBlue        '令注釋為藍色

        End If

    Next nLineNum

End Sub

繼續閱讀