需求
有時候,有創作科技圖書的需求,可能就要用代碼的講解,而講解代碼時,爲了方便起見,不免要給代碼邊行號。
但是,Word本身帶的行號功能,非常不太好用,而手工敲寫編號,一是容易錯,而是工作量太大。所以很有必要編寫一個自動編號的宏程序。
宏代碼是這樣的
其實,這樣的宏寫過很多次,也用過很多次,每次用過後,代碼都不知道放到哪裏去了,找半天,費了很多功夫。所以這裏把代碼放到博客裏,這樣就容易找到,也給其他有需要的同人,一個借鑑。
宏代碼塊
首先需要創建一個宏,如何來做呢?以Word 2010爲例,在工具欄中,選擇“視圖”,點擊“宏”,如下圖所示。
然後點擊【查看宏】:
在彈出的對話框中,點擊【創建】。
在VBA的代碼區寫下如下代碼:
Sub HangHao()
Dim parag As Paragraph
Dim nLineNum: nLineNum = 0
Dim selRge As Range
Set selRge = Selection.Range
For Each parag In Selection.Paragraphs
nLineNum = nLineNum + 1
selRge.Paragraphs(nLineNum).Range.InsertBefore (Format$(nLineNum, "00") & " ")
Next
End Sub
寫完後,點擊保存,退出VBA代碼區。
爲了經常能用到這個宏,我們就需要在Word【文件】->【選項】中,找到【快速訪問工具欄】,把這個宏取個好聽的名稱,並配一個圖標,最後,它就乖乖滴出現在快速啓動欄中。過程如下圖所示。
實驗結果
實驗前,原始代碼是沒有行號的:
點擊自己設計的宏圖標,使用宏後的效果如下:
搞定,打完收工。
這裏寫得比較簡略,主要是給自己留個備份,省得自己下次想用,不是忘了,就是找不到。