准备工作
复制代码
vbnet
Sub 删除页()
Dim i As Long
Dim j As Long
Dim k As Long
Dim pg As Range
Dim arr, brr
Dim prmt As String
On Error GoTo err1
Application.ScreenUpdating = False
prmt = "请输入需要各部分删除的页码范围(页码从小到大,且每部分不能重叠)," & vbCrLf & _
"每部分首尾用【-】连接,各部分之间用逗号分隔,如:" & vbCrLf & _
"1-5,10-20,95-100"
arr = Split(Replace(Trim(InputBox(prmt, "删除范围", "1-5,10-20")), ",", Chr(44)), Chr(44))
For i = UBound(arr) To LBound(arr) Step -1
brr = Split(arr(i), "-")
If LBound(brr) = UBound(brr) Then
ReDim Preserve brr(1)
brr(1) = brr(0)
End If
For j = Val(brr(1)) To Val(brr(0)) Step -1
Set pg = Selection.GoTo(wdGoToPage, wdGoToAbsolute, j)
With pg
.Select
.SetRange pg.Start, pg.Bookmarks("\page").End
.Delete
k = k + 1
End With
Next
Next
Application.ScreenUpdating = True
Set pg = Nothing
MsgBox Format(k, "完成 共删除了0页")
Exit Sub
err1:
MsgBox Err.Description
End Sub
打开word,新建宏
word-开发工具-宏-创建-复制-关闭



使用宏
开发工具-宏-选择刚才创建的宏-运行-输入要删除的页码号

温馨提示
输入的页码是实际页码,不是页面底部的页码,不确定某个页面是第几页的,可以点开word的中的页面,点击页面查看
