ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 95595|回复: 14

[分享]Word中文续表(如“续表一”)解决方案

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-8-24 07:11 | 显示全部楼层 |阅读模式

Word中文续表(如“续表一”)解决方案:

在中文文档中应用长表格时,通常在第二页的表格开始处,应用续表一字样,后序各页则依次类推,直到表格结束。当插入新的长表格时,续表重新开始。

1.        通过页眉实现。此法简单,但通常长表格所在文档都有各自的页眉页脚,而且,表格的起始位置也并不总是位于文档新页的开始处,有可能在页面的任意位置。

2.      通过VBA来实现,此方法基本上是将表格分割为多个独立页面的表格而实现,每次对表格应用格式等,都可能出现需要重调“续表”的情况。

http://club.excelhome.net/viewthread.php?tid=164361&replyID=376423&skin=0

在上述两种解决方式中,效果都不尽如人意。

3.       另一种比较可靠的做法是利用分节符、图文框(或者文本框)和嵌套域代码实现。使用连续型分隔符将长表格前后分隔符独立的一节,这样,使长文档所在节可以应用与前面不一致的页眉,而页眉中的主体内容是与前面的节一致的,只是多一个写有“续表”的文本框或者图文框。

3.1.      使用图文框而不用文本框,除了更简洁对齐方式外,更兼有内侧外侧的水平对齐功能,这样,可以使得续表字样在奇偶页中也能得到实现。

3.2.    使用嵌套域。续表总是从“第二页”开始,作为独立的一节时,“续表N”的N值总是为当前页码数-(表格开始所在页码数-常数),如域代码:续表{= { page } -2}(注意,"{}"是由Ctrl+F9组合键自动插入的域标志!),嵌套域{= { page } -2}的结果为数字1,若需生成中文大写数字,则仅需加入“*”格式开关即可,如域代码:{= { page } -2 \*CHINESENUM1}(注意,"{}"是由Ctrl+F9组合键自动插入的域标志! )。

续表演示文档: 

aYn01I8E.rar (55.6 KB, 下载次数: 1772)

说明:本贴拟同时发送到微软中文技术论坛中,故进行了整理,在今天的搜索过程中,发现http://club.excelhome.net/viewthread.php?tid=216410&replyID=693330&skin=0sylun已对此进行了简要说明。


[此贴子已经被作者于2008-8-24 7:18:29编辑过]

TA的精华主题

TA的得分主题

发表于 2008-8-24 07:52 | 显示全部楼层

抢个沙发先。

老大是否可以将2,用书签所在页的域来代替,这样,是否更通用一些?

将 2 用 改为 PAGEREF  startTablepage

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-8-24 08:02 | 显示全部楼层
QUOTE:
以下是引用konggs在2008-8-24 7:52:03的发言:

抢个沙发先。

老大是否可以将2,用书签所在页的域来代替,这样,是否更通用一些?

将 2 用 改为 PAGEREF  startTablepage

孔兄,我也曾考虑过此方法,但相比之下,有以下不足:

需要手动插入书签,每一个表格,则需用一个书签。

起始页码的调整,可能导致的页码问题。

反之,直接用常量来代替时,只要有当前(表格“第二页”的页码域({ PAGE}的值,则只要取该值的前一位自然数),感觉可直接、方便一些,当然,如果表格所在节的前面节部分页数发生改变后,则需要手动调整该常量。

应该是各有所长,谢谢孔兄。

TA的精华主题

TA的得分主题

发表于 2008-8-24 08:25 | 显示全部楼层

谢谢老大提醒。确实会增加工作量。

但对于“起始页码的调整,可能导致的页码问题。”我试了一下,不会出现问题。
PageRef与Page都是一个相对量。
在调量起始页码时,如果他们在同一节,则相减就是一个绝对值,不会随着起始页码变而变。
不知道我测试的对不对,请老大批评指正。

我简单的说明一下,请老大指正。可以将与页码有关的域分为两类:绝对量、相对量
“绝对页”,指在修改起始页码时,不影响计算结果的域。如Numpages,SectionPages
“相对页”,指在修改起始页码时,会影响计算结果的域。如Page,PageRef
Page的结果是当前的物理页减去当前节的开始页码 + 1。如当前光标所在的物理页是10页,当前节的开始页码是5,则10-5+1 ,则Page的结果是14页。即相对page相对页 =当前的绝对页(当有的物理页,常量)-起始页 +1, 因为起始页是可以变量的,所以,Page是一个相对页。

PageRef的结果就是书签所在的页码,原理同page,即 = 书签所在的绝对页(书签所在的物理页,常量)-起始页 + 1。

将Page -PageRef时 = (当前的绝对页(当有的物理页,常量)-起始页 +1)-(书签所在的绝对页(书签所在的物理页,常量)-起始页 + 1)
=当前的绝对页-书签所在的绝对页 = 一个绝对页常量。

 所以,可以这么理解,如果这里的相对页相减,则结果是一个绝对页;如果绝对页相差也是一个绝对值;如果绝对页与相对页相差,则结果是一个相对页。

当然,以上的结果是对于同一节,对于不同节,则显然是错的。

不知道分析的对否,请老大批评指正。

[此贴子已经被作者于2008-8-24 8:44:51编辑过]

TA的精华主题

TA的得分主题

发表于 2008-8-24 11:28 | 显示全部楼层

这确是一个值得探讨且有一定实用性的问题。谢谢老大的归纳。

以前也做过一个类似的(http://club.excelhome.net/viewthread.php?tid=314930&replyID=&skin=0),用分节单独页眉加文本框来做,只是续表字样的位置有所不同,没有用域。感觉如果不使用“首页不同”的页面设置,此法有时会出意外结果(即当该连续类型的节恰好从新页开始时)。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-8-25 10:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

孔兄和sylun兄所言都是正确的,其实在发这个贴子时,我也考虑到一些问题。

那就是如何面向读者用户的问题,对于你我,其实非常简单,可能不用附件,直接贴个域代码就可以解决了,甚至不用域代码,点到就成。

无论是PageRef域,还是当前节首页不同的问题,抑或是常量的问题,如何维护好既有文档,不使用户产生其它的不必要的疑问,我觉得也是我们以后需要考虑的问题。

不是孔兄是否记得以前的“总页数,页数,当前节总页数,当前节页数”的一个代码,也是插入书签,如果我们考虑得非常复杂,普通用户往往不容易接受。

一个文档,好比一个编程,需要面对不同的对象。一个WORD中没有直接现成的解决方案,也需要根据不同的文档予以设置,合我们三个人的想法,应该可以针对不同的文档,不同的用户需求,基本解决这个问题。

另:由于近来在研发WD懒人王排版系统,所以,没有很细致去想这些事,只是有网友问到时,突然想起来了,也没有做很认真的测试。

再次感谢二位的补充。

TA的精华主题

TA的得分主题

发表于 2011-4-18 15:06 | 显示全部楼层
实用的东西,翻出来在看看,谢谢~~

TA的精华主题

TA的得分主题

发表于 2011-5-13 23:44 | 显示全部楼层
总结的很不错,谢谢斑竹~

TA的精华主题

TA的得分主题

发表于 2011-8-11 20:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-4-23 11:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
终于找到答案了,谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 05:01 , Processed in 0.026570 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表