WPS的Word文档中数理公式显示居中且自动编号,以及编号的交叉引用并快速更正之VBA宏实现
一,准备工具
软件:WPS办公软件,版本11.1.0.10463
二,基本要求及目标功能
1,基本要求
(1),word文档纸张的页边距为普通
(2),WPS的word文档中已实现"多级章节自动编号"功能,重点是要有"章"的编号,后续公式自动编号会用到.
如果怕设置"多级章节自动编号"麻烦,此处可先跳过,后续在实现公式编号时不关联到"章"编号即可
(3),要设置一个无缩进的正文样式
2,目标功能
(1),数理公式"行居中"
(2),公式"显示"呈现,而不是"内嵌"
(3),公式最右边自动编号,如 “(式1-2)”,表示第1章的第二个公式
(4),上面3个功能的快捷实现
(5),交叉引用公式编号及快捷更正
3,为何要用表格来实现目标功能?
word文档中的数理公式有两种呈现方式:显示和内嵌.
常规情况:
"显示"独占一行,无法在该行尾添加公式编号
"内嵌"可在行尾添加公式编号,但"内嵌"的公式看上去不那么标准,难受
而采用word文档中的表格时:
公式既"显示"呈现,同时行尾还可编号
当采用无边框的表格时,"显示"的公式和编号"看上去"就是同一行.下图是打印预览模式下效果.
三,实现方法
1,涉及到word应用技巧中知识点
(1),域代码及对域代码的更新
(2),VBA编程(宏)
(3),WPS文档中"题注"的运用
(4),各级章节标题的样式设置
(5),多级章节自动编号设置以及与各级章节标题样式的关联
2,宏代码
(1)宏代码写在哪里?
在满足前述的基本要求前提下,于WPS中新建WORD空白文档.
菜单栏的"开发工具"标签>“WPS宏编辑器
在下图的"Normal.dotm>代码"目录上右键>插入>模块,并重命名为"公式”,然后双击打开.
"Normal.dotm"为文档的模板文件,此步骤就是将宏代码建在模板文件中,而非刚刚新建的空白文档中.
(2)详细宏代码
复制以下代码到新建的公式模块中,并保存.
注意:
a,代码中用到了前述中的"无缩进正文"样式.(Selection.Style = “正文”);
b,代码中变量T2(T2=“SEQ 式 \* ARABIC \s 2”)中"式"字关联到word文档中的"题注"设置,详见后续
function 公式()
{
//插入一行二列表格
ActiveDocument.Tables.Add(Selection.Range, 1, 2, 1, 0);
处理第1个单元格
//设置为无边框
Selection.Cells.Borders.Item(wdBorderTop).LineStyle = wdLineStyleNone;
Selection.Cells.Borders.Item(wdBorderLeft).LineStyle = wdLineStyleNone