图1
笔者经过反复摸索,发现我们可以在Word里面使用域的公式为分栏的页面根据栏数实现自动页码功能。首先我们分析这个自动编码的算法:假设分为n栏、在每个Word页面中要插入n个页码,假设Word的页码为m,那这一页要插入页码就应该是n*m-(n-1)、n*m-(n-2)、n*m-(n-3)……n*m-(n-n),比如说三栏的情况下,第二个Word页面要插入3*2-(3-1)、3*2-(3-2)、3*2-(3-3)即4、5、6这三个页码。
自动编排页码的算法搞清楚了,接下来就看我们看如何实现这个功能。在"域"当中,PAGE是可识别的变量,但是在公式中这个变量是不可识别的,这时候如果在公式中强行使用n*PAGE的方法,Word会给出"!未定义的书签,PAGE"的提示。笔者查遍了能找到所有的资料,都没有关于如何将PAGE变量引入到公式中的方法。后来经过探索发现,如果我们把该页的Word页码定义为书签PAGENUM(或其他任何合法的名称),我们在插入"域"公式时就可以使用PAGENUM作为想插入的人工页码的"依据"变量了。
图2
以一个三栏的Word文档为例:首先我们还要利用Word的页面编码作为变化的依据,我们在"插入"菜单中选择"页码",然后在"页眉和页脚"视图中选中这个页码,再在"插入'书签"中给这个页码一个名字叫做"PAGENUM"(如图2),点"添加"按钮。回到"页眉和页脚"视图中,在"插入"菜单中点"域"后弹出如图对话框(如图3),在"域名"中选中"=(Formula)"(如果列表中没有出现这个选项可以在"类别"下拉菜单中选中"全部"),然后点击右侧出现的"域属性"中的"公式"按钮,出现输入公式的对话框(如图4),在"公式"中输入"=3*PAGENUM-(3-1)",然后确定,这样我们就为第一个栏输入了页码。用同样的方法为第二栏、第三栏分别输入"=3*PAGENUM-(3-2)"、"=3*PAGENUM-(3-3)"的公式,把它们用空格键或Tab键分割后调整到合适的位置(如图5),这样我们的工作就完成了,所有的Word页面在页脚中都插入了以栏为单位的"页码",而且在不同的Word页面中自动变化。有兴趣的读者可以点中这些"页码"、按右键菜单中的"切换域代码",你会发现这些域里面的公式就会以原始的形式展现在你的面前。
图3
图4
最后,我们把此前插入的Word页码变为不可见(注意:千万不要删除,否则PAGENUM的变量就没有了,Word会重新给出"!未定义的书签,PAGENUM"的提示)。选中这个Word页码,将它的字体颜色变为与底色相同的颜色(默认为白色)。我们在"文件"菜单中选取"打印预览",发现最终打印出来的文件完全符合我们的希望。