在给题注编号的过程中,常出现“图一-1”(太丑了,原因在于多级编号中把标题1的编号样式设为 一、二、三、
等),如何把题注“图一-1”变成“图1-1”? 可以考虑用域代码解决
一、源起:
1. VBA.IsDate(),
在IsDate()函数中,我们可以发现Word似乎可以判断诸如“一九八
一年十月一日”这样的日期数据(VBA.IsDate('一九八一年十月一 日')=True.
2. 在ASK域中,Word可以根据输入的日期值,转换为日期数据,由此联想到了SET域,结果发现域代码:{
SET myBK '一九一一年一月一日' }{ myBK \@ 'D'
}值为“1”,当然,其间我测试了N遍,从年到月到日,最终确定使用日的范围更广一些(极限值为31,通常对于Word写作而言,三十一章(标题)基本适
用了)。
二、StringNumber
也许大家知道,Excel中隐含有一个函数NumberString, 它的功能是将数字转为中文大写数字,当然,也没有直接的逆函数,将中文大写数字转换为小写数字。
很想,将Word中的域代码:{ SET myBK '一九一一年一月{ STYLEREF 1 \s }日' }{ myBK \@ 'D' }命名为StringNumber函数。
三、 题注
Word默认插入带标题样式的题注,其域代码为图 { STYLEREF 1 \s }—{ SEQ 图 \* ARABIC \s 1 },很显然,我们只要将其中{ STYLEREF 1 \s }的替换为{ SET myBK '一九一一年一月{ STYLEREF 1 \s }日' }{ myBK \@ 'D' }即可在中文大写数字的章标题中实现题注引用的常规数字(阿拉伯数字)。
替换方法:
1.
一、源起:
1.
2.
二、StringNumber
也许大家知道,Excel中隐含有一个函数NumberString, 它的功能是将数字转为中文大写数字,当然,也没有直接的逆函数,将中文大写数字转换为小写数字。
很想,将Word中的域代码:{ SET myBK '一九一一年一月{ STYLEREF 1 \s }日' }{ myBK \@ 'D' }命名为StringNumber函数。
三、 题注
Word默认插入带标题样式的题注,其域代码为图 { STYLEREF 1 \s }—{ SEQ 图 \* ARABIC \s 1 },很显然,我们只要将其中{ STYLEREF 1 \s }的替换为{ SET myBK '一九一一年一月{ STYLEREF 1 \s }日' }{ myBK \@ 'D' }即可在中文大写数字的章标题中实现题注引用的常规数字(阿拉伯数字)。
替换方法:
1.
