Word技巧杂记(二)——批量修改修订格式并接受
今天的题目好奇怪啊,呵呵,起因如下:
今天老婆在修改论文,她的老板提出一个非常**的要求——把Word中所有修订后的文字用特殊的字体(蓝色)标出来,然后再接受修订。我勒个去,明明有修订后的模式啊,为什么还要这么做,简直就是变态。我只能说,中国人的想法真TMD奇怪,每天都在做浪费时间的事情。
哎,老婆既然提出来了,作为一个程序员,怎能不满足老婆的各种无理要求呢?于是有了今天这篇小文章(和马伊琍没有关系哦~~~)
这种批量修改的问题一般来说有两种方案,一是看Word有没有提供相应的功能(主要是用样式),Google了一圈,发现没有。于是只能展开第二方案,也就是我们的老本行——编程。对于Word编程,其实笔者不是很熟悉,但是有一个基本的思路:
1.找到修订部分
2.更改格式
这不是纯属废话吗,其实也不尽然。虽然笔者自己不会VBA,但是Word自身确是会自己给自己写程序呢(这算不算元编程?),这个功能就是大名鼎鼎的“录制宏”,使用该功能后,就能看到VBA的脚本是如何编写的了吧。说干就干:
1)首先在工具栏上加载“审阅工具”,这一步主要是考虑之后录制的方便

2)接下来录制宏:“工具->宏->录制新宏”,填好相应的参数(包括宏的名字啊,快捷键啊等等一系列内容)

3)好了,此时千万不要做其他的操作了,点击“审阅工具”中的“后一处修订或批注”,待选中插入部分的字符后,修改字体颜色,最后接受修订
4)一气呵成之后,停止录宏
此时,打开刚才编辑好的宏(“工具->宏->宏”)
在“宏名”处搜索刚才录入的宏名,选中之后,点右侧的编辑

就会打开录制好的程序了。
Sub Macro1() WordBasic.NextChangeOrComment
Selection.Font.Color = wdColorBlue
Selection.Range.Revisions.AcceptAll
WordBasic.AcceptChangesSelected
End Sub
当笔者直接运行这段代码的时候,执行到最后一步总是报错。由于没时间仔细琢磨,而且这只是给老婆应急的,所以狠狠心,直接删掉了。这样一来就不在报错了,而且完全满足了老婆大人的需求。提交给老婆大人的最终代码如下:
Sub Macro1()
WordBasic.NextChangeOrComment
Selection.Font.Color = wdColorBlue
Selection.Range.Revisions.AcceptAll
End Sub
【后记】目前这个程序只能单步运行,无法批量搞定整篇文档的内容。我的想法是如果WordBasic.NextChangeOrComment能够返回一个boolean,那就能使用While循环来做了,可是事实上这个函数好像不返回,查找了半天,网上也没有一些说法。好在用户对这个程序已经非常满意了,不过还是在此留一个悬念吧,如果以后有机会再仔细研究。
Word技巧杂记(二)——批量修改修订格式并接受的更多相关文章
- Python批量修改图片格式和尺寸
Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入 ...
- word 批量修改表格格式
For i = 1 To ActiveDocument.Tables.Count ActiveDocument.Tables(i).Cell(1, 1).Select With Selection . ...
- Python 批量修改图片格式和尺寸
公司的一个项目要求把所有4096x4096的图片全部转化成2048x2048的图片,这种批量转换图片大小的软件网上很多,我的同事原来使用的美图看看的批量转换,但是稍微有点麻烦,每次还需要指定要转换的图 ...
- Word技巧杂记(一)——去掉页眉上方的黑线
今天在调整文章的格式时,突然发现在页眉的上方有一条巨粗无比的黑线,不知从何处冒出来的(如下图) 经过长时间的研究,终于发现原来这是页面的边框.解决办法也很简单: 格式->边框与底纹->页面 ...
- Word 中批量修改所有表格格式样式
1. 引言 我们在使用Word排版编写书籍时候,可能会带有许多表格,上百,甚至上千个表格都是有可能的.这么多的表格对于后期的样式修改是非常不利的,有什么好的方法能够一次性修改文档中所有的表格,将其统一 ...
- 怎样批量修改MathType公式格式
MathType是一款数学公式编辑器,我们在写论文的时候常常会遇到,但是有时由于公式的样式.大小和间隔等不符合论文要求,这个时候我们如果一个个修改是很麻烦的,还容易出错.所以批量修改就非常的有必要了, ...
- 利用python批量修改word文件名的方法示例
利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...
- 怎么批量修改Word表格的宽度
怎么批量修改Word表格的宽度 怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样.当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者 ...
- 批量修改WORD表格属性
有时候需要对word中很多表格的属性进行修改,而word无法批量修改属性,所有这里记录一个宏 Sub TableFormatter() Dim oTbl As Table, i As Integer ...
随机推荐
- ubuntu的home目录下,Desktop等目录消失不见
第一步:创建相应的文件夹 首先当然是创建几个相应的英文文件夹喽,比如:Desktop.Downloads. Documents. Music. Pictures. Videos , Template ...
- java的重载总结
1.不能以返回值的不同来重载方法,编译都不通过(只有参数类型或者参数个数不同才可以重载方法) 在Java语言中,要重载一个方法,除了要与原方法具有相同的简单名称外,还要求必须拥有一个与原方法不同的(不 ...
- WPF使用Winform PDFView控件
最近开发wpf项目中有一个模块需要显示PDF文件内容.由于WPF本身没有PDF加载控件(似乎有收费的我查到过类似的资料.如果有新的pdf控件也请通知我一下谢谢). 项目使用之前也是从网上获取的资料,因 ...
- fabric.js 翻转,复制粘贴,隐藏, 删除,历史记录,撤销, 剪切, 图层,组合打散,锁定等功能
用vue写的 显示,隐藏 hide(){ this.canvas.getActiveObject().set('opacity', 0).setCoords(); this.canvas.reques ...
- equal height
https://css-tricks.com/the-perfect-fluid-width-layout/ http://nicolasgallagher.com/multiple-backgrou ...
- Angular 通过constant(name,value),value(name,value)创建服务
区别: constant()可以将已经存在的变量值注册为服务,并将其注入到应用的其他部分中,他的value可以是值,也可以是对象.通过他来配置数据,也就是说可以在config里注入,但是他是不可以修改 ...
- css3 y轴翻转效果
这个小例子是hover的时候可一看到div沿着y轴转动一圈 思路:css写好动画transiton: all 1s; hover的时候给他一个状态transform:rotateY(180deg); ...
- velocity.ui2.0所有的内置动画名称
velocity升级到2.0后api发生了变化,按照原来的名称已经不能调用原来的动画效果,新的名称如下:velocity.ui2.0所有的内置动画名称 bounce flash headShake j ...
- vue 动态添加路由 require.context()
之前的写法 'use strict' import Vue from 'vue' import MessageBroadcast from 'page/MessageBroadcast' import ...
- 关于linux系统的sendmail使用中的问题与解决
系统环境是ubuntu16.04 安装 sudo apt-get install sendmail 检查运行情况 sudo service sendmail status 结果如下,表示正在运行 ● ...