需求
有时候,有创作科技图书的需求,可能就要用代码的讲解,而讲解代码时,为了方便起见,不免要给代码边行号。
但是,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【文件】->【选项】中,找到【快速访问工具栏】,把这个宏取个好听的名称,并配一个图标,最后,它就乖乖滴出现在快速启动栏中。过程如下图所示。
实验结果
实验前,原始代码是没有行号的:
点击自己设计的宏图标,使用宏后的效果如下:
搞定,打完收工。
这里写得比较简略,主要是给自己留个备份,省得自己下次想用,不是忘了,就是找不到。