Word VBA:批量删除多个分段页面
目录
一、难点分析
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:批量删除多个分段页面相关推荐
- Word怎么批量删除空行和空格?有技巧很简单!
使用Word进行文字编辑的时候,偶尔会有存在多余空行,或不经意间留下的空格,影响整体文本排版及阅读的情况.或是有时从其他地方复制过来的文本,存在大量换行符的情况发生,遇到这种情况是否有能够快速去除这些 ...
- 解决WORD中批量删除空白行的问题
批量删除word中空白行的解决方法:"查找和替换"--查找内容为:^p^p--替换为:^p.即可.
- Word VBA批量格式转换:docx转pdf、doc、rtf、txt以及反向转换
有时候需要把大量的docx文件另存为其它格式,比如pdf.doc.rtf.txt,或者反向转换,可以用VBA批量处理.启动word,按下Alt+F11,打开Microsoft Visual Basic ...
- WORD怎样批量删除超链接
批量删除所有的超链接,需要全选文档内的所有内容,可用键盘上的"Ctrl+A"快捷键 再依次按键盘上的"Ctrl+Shift+F9"这三个键,那么就会取消所有的超 ...
- PPT使用VBA批量删除图形
原因 一般被分享的PPT都是转换成PDF格式,想要借鉴的时候,需要通过一些工具转换,转换后,原版的logo,页眉页脚什么都需要删除,如果PPT页数很多,就难以删除,因此有这篇文章 第一阶段方案 借鉴了 ...
- Excel VBA: 批量删除带删除线的文本
需求的故事是这样的.... 在开发过程中, 我们会使用excel写各式各样的文档, 通常这些文档都是从一个Base修改而来的. 为了便于其他人review, 在做成这些文档的时候, 作成者会使用不同的 ...
- 利用VBA批量删除Excel中的中文/英文/数字或者替换中英文符号
↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 在Excel中经常会遇到去除所有的中文,英文或者数字等情况.但是由于Excel并不支持一次替换所有的中文,英文,数字等,所以有些 ...
- 多个word vba批量替换文字(一个文件夹)
多个word批量替换word文字! Sub 替换N个word文档()Dim Dm As DocumentDim MyPath As StringDim MyName As StringDim N As ...
- Word VBA(批量复制Excel表格和Word表格到Word中)
Function Test() '使用双字典 SearchPath = FolderDialog("请选择文件夹") If SearchPath = & ...
- 利用VBA批量删除EXCEL中的空白工作表SHEET
Sub delSheet()Dim x As WorksheetApplication.DisplayAlerts = FalseFor Each x In SheetsIf IsEmpty(x.Us ...
最新文章
- 2018\National _Java_A\1.三角形面积
- Nginx的反向代理 和 负载均衡
- 从IC设计来看Trace32的用途
- python字符串解释_python基础之字符串详解
- activiti 5.22的demo运行
- 创建mysql windows服务_MySQL的安装及创建(windows下操作)
- jdbctemplate无where条件查询_多表查询
- webservice 传输数据过大,解析失败
- 【html】非配对的标签
- 网站在线监控工具Uptime Kuma
- Excel表格转JPG等多种图片格式(简单粗暴)
- android转移数据到苹果手机号码,苹果电话号码怎么转到新手机(简单教你两招轻松搞定)...
- Excel数据分析之环比和同比的计算
- 日更第7天:Linux常用命令之rm用法
- BI工具和数据中台有什么区别?
- 把个人网站封装生成百度小程序的方法分享
- 无薪加班的第三天,我去公司打了卡
- 应用在触摸面板中的电容式触摸芯片
- 起用 RabbitMQ (二)
- 欧文分校计算机科学硕士项目,美国加州大学欧文分校信息与计算机科学硕士.pdf...