ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]守版主:页码域问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-5-3 22:18 | 显示全部楼层 |阅读模式

因为前次发贴未指定标题,故重发,版主请勿删贴,多谢

[求助][请明确标题]

要求如下: WORD文档分为多节;

其中页眉内共几页第几页为整个文档的页数和序号; 而页脚内共几页第几页为每个分节中的页数和序号。 如页眉为共15页第10页 而页脚为共4页第3页。 要求页码用域生成,因为每节的页数可能因为编辑而变动。 不知大侠有何高招? 多谢

TA的精华主题

TA的得分主题

发表于 2005-5-4 10:23 | 显示全部楼层

这个题目,是WORD的软肋!已经不记得多次说过了。

还有相关的一个重要话题,如http://club.excelhome.net/viewthread.php?tid=81108&replyID=413405&skin=1。

此问题,即便是用VBA来处理,也不是很好!

我想了很久,楼主是否同意这样做?

全文的设置为奇偶页不同。

在奇数页的页眉中,为全文第几页共几页;

在偶数页的页眉中,为第几节第几页共几页;

后一节与前一节断开链接。

在后一节的奇数页页眉中,为全文几页共几页;

在偶数页的页眉中,为第几页第几页共页,其中的第几页的页码格式需要手动调整起始页码为1。

以下为部分域代码

变形域代码为: 第一节奇数页:全文第 { PAGE } 页 共 { NUMPAGES } 页

第一节偶数页:

变形域代码为: 第 { section } 节第 { PAGE } 页 共 { sectionpages } 页

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-5-4 22:35 | 显示全部楼层

谢谢守柔版主,您的建议其实不错,但我这个文档是提供给其他设计人员的一个按企业标准的标准件清单模板,也就是说必须在页眉上有第页共页,而页脚为另一个部件(采用分节符分开)的第页共页(企业标准的固定格式),所以只能采用比较麻烦的办法即:page-前面所有节的总页数来生成页脚的第页了,这样就要求所有设计人员必须知道页码域的操作。

无论如何,版主有心了!

希望OFFICE下个版本能提供解决办法。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-5-4 22:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
对了,请问版主,打印时使用S3P2可以得到第3节第2页,为什么WORD此时又可以定位节中的第几页呢

TA的精华主题

TA的得分主题

发表于 2005-5-5 11:32 | 显示全部楼层
以下是引用honey_bee在2005-5-4 22:43:00的发言: 对了,请问版主,打印时使用S3P2可以得到第3节第2页,为什么WORD此时又可以定位节中的第几页呢

S3P2这个说法,我也长见识了,应该是2003版的功能了?

我做了一个如何定位的S3P2的代码,可以供楼主参考:

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-5-5 11:32:34 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

Option Explicit Option Compare Text Sub Example() Dim SecStartPage As Integer, MyRange As Range, IptText As String Dim Sec As Integer, Page As Integer, PPos As Integer IptText = InputBox("请输入想要定位的节/页位置,该位置将处于指定位置的开始处," & vbCrLf & "请以S2P2格式输入!") If IptText = "" Or Not IptText Like "S*P*" Then GoTo Clew PPos = VBA.InStr(IptText, "P") * 1 '取得字符串P的位置 Sec = Mid(IptText, 2, PPos - 2) * 1 '取得节号 Page = Mid(IptText, PPos + 1, Len(IptText) - PPos) '取得节中的页数 With ThisDocument '如果节数不符或者页数为0或者节号为0则退出 If Sec > .Sections.Count Or Page = 0 Or Sec = 0 Then GoTo Clew '定义一个RANGE对象 Set MyRange = .Range(.Sections(Sec).Range.End - 1, .Sections(Sec).Range.End - 1) '如果页数大于节的总页数 If Page > MyRange.Information(wdActiveEndPageNumber) Then GoTo Clew '定义一个RANGE对象 Set MyRange = .Range(.Sections(Sec).Range.Start, .Sections(Sec).Range.Start) '取得节的起始页数 SecStartPage = MyRange.Information(wdActiveEndPageNumber) '将插入点移动到该处 Selection.GoTo wdGoToPage, , , SecStartPage + Page - 1 End With Exit Sub Clew: MsgBox "您提供的数据中包含无效数据,可能的原因有:" & vbCrLf & _ "您可能取消的输入对话框,或者没有输入相应数据;" & vbCrLf & _ "您输入了与规定形式不符的文本;" & vbCrLf & _ "您输入的节数或者页数为0;" & vbCrLf & _ "节数超过了文档总节数;" & vbCrLf & _ "页数超过了该节的总页数.", vbInformation End Sub '----------------------

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-5-5 16:02 | 显示全部楼层

谢过版主,可惜我对VB一窍不通,嘿嘿。

连版主都无法做到,我可以死心了,哈哈。

TA的精华主题

TA的得分主题

发表于 2007-2-19 09:08 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-1-28 22:07 | 显示全部楼层

在页眉直接插入:

                第 3 11

切换域代码后变成:第 {PAGE} 页 共 { NUMPAGES} 页

在页脚插入后,将{ NUMPAGES}编辑域  选择 SECTIONPAGES后变成

                        第 {PAGE} 页 共 { SECTIONPAGES} 页

在页脚中设置页码格式为:起始页码 1

就可以了

TA的精华主题

TA的得分主题

发表于 2008-1-29 08:07 | 显示全部楼层
QUOTE:
以下是引用lp2wyp在2008-1-28 22:07:00的发言:

在页眉直接插入:

                第
      3
      

     

      11
      

切换域代码后变成:第 {PAGE} 页 共 { NUMPAGES} 页

在页脚插入后,将{ NUMPAGES}编辑域  选择 SECTIONPAGES后变成

                        第 {PAGE} 页 共 { SECTIONPAGES} 页

在页脚中设置页码格式为:起始页码 1

就可以了

谢谢lp2wyp!

请检查一下,当页脚中重设起始页码时,页眉中的页码还是原来全文第?页吗?

TA的精华主题

TA的得分主题

发表于 2014-3-21 10:52 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-16 11:11 , Processed in 0.028491 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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