ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 设置页码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-1-7 18:13 | 显示全部楼层 |阅读模式
现代物流公司2020年度经营业绩考核述职会材料(3)(1)(2)(1)(1).zip (1012.87 KB, 下载次数: 198) 请教,如何从此页(页面的第7页)开始设置页码,起始页码为14,然后下一页为15,直到最后。

word真的不太会,请大神帮助。。。。。
如有gif更加好,有文字谢谢步骤也行。


image.jpg

TA的精华主题

TA的得分主题

发表于 2021-1-7 20:11 | 显示全部楼层
  1. Sub SectionPageNumber()
  2.     With ActiveDocument.Sections(5)
  3.         .Range.Select
  4.         With Selection
  5.             .EndKey 6, 1
  6.             .Find.Execute "^12", , , 0, , , , , , "", 2
  7.             .Sections(1).Footers(wdHeaderFooterPrimary).Range.Text = ""
  8.         End With
  9.         With .Footers(wdHeaderFooterPrimary).PageNumbers
  10.             .NumberStyle = wdPageNumberStyleArabic
  11. '            .NumberStyle = wdPageNumberStyleNumberInDash '-1-
  12.             .RestartNumberingAtSection = True
  13.             .StartingNumber = 14
  14.             .Add PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True
  15.         End With
  16.     End With
  17. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-1-7 22:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
* 蒋老师:新年快乐!——文中分节符太多了!另外,应该用《删除空行》宏删除一些空行;在每个述职报告标题前面应加上一个分页符(当然分节符也可)。因为没有章节,所以,页码连续部分最好是一个节。* * 下面的宏比上楼的更好,请试用:
  1. Sub SectionPageNumber_Better()
  2.     Dim i&, j&
  3.     With ActiveDocument
  4.         j = .Sections.Count
  5.         For i = 6 To j
  6.             With .Sections(i).Footers(wdHeaderFooterPrimary)
  7.                 .LinkToPrevious = True
  8.                 .PageNumbers.RestartNumberingAtSection = False
  9.                 .Range.Delete
  10.             End With
  11.         Next
  12.         With .Sections(5).Footers(wdHeaderFooterPrimary).PageNumbers
  13.             .Parent.LinkToPrevious = False
  14.             .NumberStyle = wdPageNumberStyleArabic
  15. '            .NumberStyle = wdPageNumberStyleNumberInDash '-1-
  16.             .RestartNumberingAtSection = True
  17.             .StartingNumber = 14
  18.             .Add PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True
  19.             
  20.             'Extra Format/Can delete!
  21.             With .Parent.Range.Font
  22.                 .NameAscii = "Times New Roman"
  23.                 .Size = 36
  24.                 .Bold = True
  25.                 .ColorIndex = wdRed
  26.             End With
  27.         End With
  28.     End With
  29. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-8 11:08 | 显示全部楼层
413191246se 发表于 2021-1-7 22:56
* 蒋老师:新年快乐!——文中分节符太多了!另外,应该用《删除空行》宏删除一些空行;在每个述职报告标题 ...

十分感谢。我昨天弄了大半天代码,没弄出来。我想的是这样:
1:删除word文档中的分页符分节符。
2:直接指定从第几页设定页码,页码起始可以是1,或者指定的数字。
3:目前还在弄这个代码。。。。
真的十分感谢你。我先去折腾一会。word的东东我都是临时抱佛脚。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-8 12:45 | 显示全部楼层
  1. Sub SectionPageNumber_Better()
  2.     Dim i&, j&, inum&, spage
  3.     With ActiveDocument
  4.         j = .Sections.Count
  5.         For i = 1 To j
  6.             With .Sections(i).Footers(wdHeaderFooterPrimary)
  7.                 .LinkToPrevious = True
  8.                 .PageNumbers.RestartNumberingAtSection = False
  9.                 .Range.Delete
  10.             End With
  11.         Next

  12.     inum = 2
  13.     Dim sr As String
  14.     sr = InputBox("请输入页码起始页,默认为2" + Chr(13) + Chr(13), 2)
  15.     spage = InputBox("请输入页码开始数,默认为1" + Chr(13) + Chr(13), 1)
  16.     If sr = "" Then Exit Sub
  17.     If sr <> "1" Then
  18.         Selection.GoTo what:=wdGoToPage, which:=wdGoToNext, Name:=sr
  19.         Selection.InsertBreak Type:=wdSectionBreakNextPage
  20.     End If
  21.         With .Sections(inum).Footers(wdHeaderFooterPrimary).PageNumbers
  22.             .Parent.LinkToPrevious = False
  23.             .NumberStyle = wdPageNumberStyleArabic
  24. '            .NumberStyle = wdPageNumberStyleNumberInDash '-1-
  25.             .RestartNumberingAtSection = True
  26.             .StartingNumber = spage
  27.             .Add PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True
  28.             
  29.             'Extra Format/Can delete!
  30.             With .Parent.Range.Font
  31.                 .NameAscii = "Times New Roman"
  32.                 .Size = 36
  33.                 .Bold = True
  34.                 .ColorIndex = wdRed
  35.             End With
  36.         End With
  37.     End With
  38. End Sub
复制代码
此代码经测试能够实现从指定页开始设置页码。
如下图:从第3也开始设置页码,页码起始数为8.这两个都可以自定义输入。
更复杂的word文档没有测试,仅供参考。
image.png

TA的精华主题

TA的得分主题

发表于 2021-1-8 13:16 | 显示全部楼层
本帖最后由 413191246se 于 2021-1-8 13:23 编辑

蒋老师,我发现你的文档,共有 11 个节!这么多的节,如果手动多麻烦啊!还是得用 VBA 把页码相同的节设置为链接为 TRUE。其实,我一周前就折腾过页脚,当时感觉怎么录制宏都没用,还是得直接用 ActiveDocument 对象;另外,也参考了微软VBA官方帮助文档关于 PageNumbers 对象/属性的知识。其实,蒋老师在许多方面都比我强,我得向你学习啊!(比如:我对函数、数组 都不大会,稀里糊涂的。第30行以后的代码,仅为了观看方便,蒋老师可以全部删除或屏蔽。其实有时是 ActiveDocument,有时是 Selection,我也弄不清,得多试试。——对了,其实昨晚,第2个代码,一开始我也未成功,因为每个页脚出现了双页码;开始也是与前向链接也未成功,反复试验,终于成功。第2个代码,我并未删除一个分节符/分页符,我认为,不管有多少节,它都会成功的。)

TA的精华主题

TA的得分主题

发表于 2021-1-8 13:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
蒋老师:我再罗嗦一句,像“封面+目录+正文”这种文档,要是手动分节,设置页码,我没有问题;但是要想用 VBA 来自动设置,就一时半会搞不定,得反复试验,不过,我觉得此中过程也很有趣,有苦有乐(现在我比较倾向于能用代码自动就不手动,一键搞定这才爽)。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-8 14:12 | 显示全部楼层
413191246se 发表于 2021-1-8 13:31
蒋老师:我再罗嗦一句,像“封面+目录+正文”这种文档,要是手动分节,设置页码,我没有问题;但是要想用 V ...

我对word真的不太熟悉。偶尔遇到问题写个代码来折腾。谢谢了。

TA的精华主题

TA的得分主题

发表于 2021-1-9 13:12 | 显示全部楼层
蒋老师:我觉得咱们都应该把微软VBA帮助文档吃透,有些对象/方法/属性/示例代码,都未学好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-9 17:47 | 显示全部楼层
413191246se 发表于 2021-1-9 13:12
蒋老师:我觉得咱们都应该把微软VBA帮助文档吃透,有些对象/方法/属性/示例代码,都未学好。

年纪大了,脑瓜没那个能力(年轻也没有这个能力)。
还得买菜煮饭。
还是你们折腾吧。。。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 01:05 , Processed in 0.041627 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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