目录

一、难点分析

1.数组的应用

2.操作顺序

二、示例代码

三、操作图示

1.复制代码-运行

2.输入要删除的页码范围

3.操作完成


一、难点分析

1.数组的应用

比如,输入多个区间【1,5-10,21-28】,如何循环这些区间。

这里主要是:

(1)将用户输入的需要删除的区间通过split函数用逗号(,)进行分割后存储在一个数组arr中;

(2)从arr的最大下标(最后一个)循环到arr的最小下标(第一个),每次循环的结果通过split函数用“-”分隔,存入数组brr中;

(3)i从brr(1)的值循环到brr(0)的值,删除i对应的页面。

注意:这里需要判断一下,如果arr中的元素本身没有“-”,即分割出的brr中有一个元素brr(0),此时需要让brr(1)也等于brr(0)。否则,brr(1)不存在,会报错。

2.操作顺序

删除尽量从后面向往前面操作,以免出现不必要的错误

二、示例代码

Sub 删除页()Dim i As LongDim j As LongDim k As LongDim pg As RangeDim arr, brrDim prmt As StringOn Error GoTo err1Application.ScreenUpdating = Falseprmt = "请输入需要各部分删除的页码范围(页码从小到大,且每部分不能重叠)," & 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 -1brr = Split(arr(i), "-")If LBound(brr) = UBound(brr) ThenReDim Preserve brr(1)brr(1) = brr(0)End IfFor j = Val(brr(1)) To Val(brr(0)) Step -1Set pg = Selection.GoTo(wdGoToPage, wdGoToAbsolute, j)With pg.Select.SetRange pg.Start, pg.Bookmarks("\page").End.Deletek = k + 1End WithNextNextApplication.ScreenUpdating = TrueSet pg = NothingMsgBox Format(k, "完成 共删除了0页")Exit Sub
err1:MsgBox Err.Description
End Sub

三、操作图示

1.复制代码-运行

新建模块-粘贴代码-运行

2.输入要删除的页码范围

根据提示输入要删除的页码范围,要求:

请输入需要各部分删除的页码范围(页码从小到大,且每部分不能重叠),每部分首尾用【-】连接,各部分之间用逗号分隔,如: "1-5,10-20,95-100";

中间的引号、逗号都用半角符号(英文标点)。

输入页码范围-确定

3.操作完成

可以看到,刚刚用户填写的【67-78,80-81】页已经正确删除。

删除完成

Word VBA:批量删除多个分段页面相关推荐

  1. Word怎么批量删除空行和空格?有技巧很简单!

    使用Word进行文字编辑的时候,偶尔会有存在多余空行,或不经意间留下的空格,影响整体文本排版及阅读的情况.或是有时从其他地方复制过来的文本,存在大量换行符的情况发生,遇到这种情况是否有能够快速去除这些 ...

  2. 解决WORD中批量删除空白行的问题

    批量删除word中空白行的解决方法:"查找和替换"--查找内容为:^p^p--替换为:^p.即可.

  3. Word VBA批量格式转换:docx转pdf、doc、rtf、txt以及反向转换

    有时候需要把大量的docx文件另存为其它格式,比如pdf.doc.rtf.txt,或者反向转换,可以用VBA批量处理.启动word,按下Alt+F11,打开Microsoft Visual Basic ...

  4. WORD怎样批量删除超链接

    批量删除所有的超链接,需要全选文档内的所有内容,可用键盘上的"Ctrl+A"快捷键 再依次按键盘上的"Ctrl+Shift+F9"这三个键,那么就会取消所有的超 ...

  5. PPT使用VBA批量删除图形

    原因 一般被分享的PPT都是转换成PDF格式,想要借鉴的时候,需要通过一些工具转换,转换后,原版的logo,页眉页脚什么都需要删除,如果PPT页数很多,就难以删除,因此有这篇文章 第一阶段方案 借鉴了 ...

  6. Excel VBA: 批量删除带删除线的文本

    需求的故事是这样的.... 在开发过程中, 我们会使用excel写各式各样的文档, 通常这些文档都是从一个Base修改而来的. 为了便于其他人review, 在做成这些文档的时候, 作成者会使用不同的 ...

  7. 利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号

    ↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 在Excel中经常会遇到去除所有的中文,英文或者数字等情况.但是由于Excel并不支持一次替换所有的中文,英文,数字等,所以有些 ...

  8. 多个word vba批量替换文字(一个文件夹)

    多个word批量替换word文字! Sub 替换N个word文档()Dim Dm As DocumentDim MyPath As StringDim MyName As StringDim N As ...

  9. Word VBA(批量复制Excel表格和Word表格到Word中)

    Function Test()  '使用双字典          SearchPath = FolderDialog("请选择文件夹")     If SearchPath = & ...

  10. 利用VBA批量删除EXCEL中的空白工作表SHEET

    Sub delSheet()Dim x As WorksheetApplication.DisplayAlerts = FalseFor Each x In SheetsIf IsEmpty(x.Us ...

最新文章

  1. 2018\National _Java_A\1.三角形面积
  2. Nginx的反向代理 和 负载均衡
  3. 从IC设计来看Trace32的用途
  4. python字符串解释_python基础之字符串详解
  5. activiti 5.22的demo运行
  6. 创建mysql windows服务_MySQL的安装及创建(windows下操作)
  7. jdbctemplate无where条件查询_多表查询
  8. webservice 传输数据过大,解析失败
  9. 【html】非配对的标签
  10. 网站在线监控工具Uptime Kuma
  11. Excel表格转JPG等多种图片格式(简单粗暴)
  12. android转移数据到苹果手机号码,苹果电话号码怎么转到新手机(简单教你两招轻松搞定)...
  13. Excel数据分析之环比和同比的计算
  14. 日更第7天:Linux常用命令之rm用法
  15. BI工具和数据中台有什么区别?
  16. 把个人网站封装生成百度小程序的方法分享
  17. 无薪加班的第三天,我去公司打了卡
  18. 应用在触摸面板中的电容式触摸芯片
  19. 起用 RabbitMQ (二)
  20. 欧文分校计算机科学硕士项目,美国加州大学欧文分校信息与计算机科学硕士.pdf...

热门文章

  1. chrome官网下载离线安装包
  2. java基础习题_JAVA基础练习题
  3. python实现谷歌翻译
  4. 高通手机调试烧录—QFIL工具
  5. LM算法求解最小二乘问题
  6. 如何清理和删除 Docker 镜像
  7. 芯片烧录软件Android版,HiTool官方版
  8. 大样本OLS模型假设及R实现
  9. 【数模】模糊综合评价模型
  10. 主成分分析R语言实现