|
楼主 |
发表于 2017-4-6 21:26
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
写了一个,但是会产生空白页...
Option Explicit
Sub jimin()
Dim NumberPages As Integer, SAP As Byte, i As Integer
Dim lngStart As Long, lngEnd As Long, myRange As Range
'SAP = VBA.InputBox("请输入每个文件的分页数", "ExcelHome", Default:=1)
SAP = 1
With ThisDocument
'取得本文档的总页数
NumberPages = .Content.Information(wdNumberOfPagesInDocument)
'MsgBox NumberPages
Application.ScreenUpdating = False '关闭屏幕更新
'将分节符替换为分页符
.Content.Find.Execute findtext:="^b", Replacewith:="^m", Replace:=wdReplaceAll
For i = 1 To NumberPages Step SAP '进行一个循环
'取得第一个分页的起始位置
lngStart = .GoTo(wdGoToPage, wdGoToNext, , i).Start
'取得第一个分页的最后位置(是下一页的开始位置)
lngEnd = VBA.IIf(i + SAP > NumberPages, .Content.End, .GoTo(wdGoToPage, wdGoToNext, , i + SAP).Start)
'定义一个RANGE对象
Set myRange = .Range(lngStart, lngEnd)
' myRange.Select
With myRange
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdPageBreak
End With
Next
End With
Application.ScreenUpdating = True '恢复屏幕更新
End Sub |
|