今天的题目好奇怪啊,呵呵,起因如下:

今天老婆在修改论文,她的老板提出一个非常**的要求——把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技巧杂记(二)——批量修改修订格式并接受的更多相关文章

  1. Python批量修改图片格式和尺寸

    Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入 ...

  2. word 批量修改表格格式

    For i = 1 To ActiveDocument.Tables.Count ActiveDocument.Tables(i).Cell(1, 1).Select With Selection . ...

  3. Python 批量修改图片格式和尺寸

    公司的一个项目要求把所有4096x4096的图片全部转化成2048x2048的图片,这种批量转换图片大小的软件网上很多,我的同事原来使用的美图看看的批量转换,但是稍微有点麻烦,每次还需要指定要转换的图 ...

  4. Word技巧杂记(一)——去掉页眉上方的黑线

    今天在调整文章的格式时,突然发现在页眉的上方有一条巨粗无比的黑线,不知从何处冒出来的(如下图) 经过长时间的研究,终于发现原来这是页面的边框.解决办法也很简单: 格式->边框与底纹->页面 ...

  5. Word 中批量修改所有表格格式样式

    1. 引言 我们在使用Word排版编写书籍时候,可能会带有许多表格,上百,甚至上千个表格都是有可能的.这么多的表格对于后期的样式修改是非常不利的,有什么好的方法能够一次性修改文档中所有的表格,将其统一 ...

  6. 怎样批量修改MathType公式格式

    MathType是一款数学公式编辑器,我们在写论文的时候常常会遇到,但是有时由于公式的样式.大小和间隔等不符合论文要求,这个时候我们如果一个个修改是很麻烦的,还容易出错.所以批量修改就非常的有必要了, ...

  7. 利用python批量修改word文件名的方法示例

    利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...

  8. 怎么批量修改Word表格的宽度

    怎么批量修改Word表格的宽度 怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样.当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者 ...

  9. 批量修改WORD表格属性

    有时候需要对word中很多表格的属性进行修改,而word无法批量修改属性,所有这里记录一个宏 Sub TableFormatter() Dim oTbl As Table, i As Integer ...

随机推荐

  1. java中的访问修饰符2

    综上所述:protected强调的是子类,deafult强调的是本包,private强调的是本类,public强调的是开放性.

  2. DataTable转Json就是这么简单(Json.Net DLL (Newtonsoft))

    之前JSON转DataTable可以见我之前的随笔 链接Json转换成DataTable 之前没有用过DataTable,之后随着需求的叠加发现需要将DataTable转换成Json.因为之前都是用的 ...

  3. 腾讯新闻多图jQuery相册展示效果代码

    腾讯新闻多图jQuery相册代码,带左右切换箭头,带缩略图,可左右切换,点击缩略图展示原图. 在线演示本地下载

  4. jQuery基本选择器模块

    选择器模块 1.获取元素的基本操作 案例:给页面中的div和p设置边框样式 1.1 传统方式 -获取元素并设置样式 实现思路 1 通过 标签名 获取元素 2 遍历循环 设置样式 var dvs = d ...

  5. Kettle通用数据贴源作业设计

    本设计基于以下需求提出 1. 快速接入数据源表(贴源/落地) 2. 无须给单独表开发转换/作业 3. 动态生成数据源连接, 表字段等信息(预先保存在数据仓库中) 本设计所需条件 1. 数据源为关系型数 ...

  6. Bootstrap 有一个 class 属性叫做 well,它的作用是为设定的列创造出一种视觉上的深度感

    Bootstrap 有一个 class 属性叫做 well,它的作用是为设定的列创造出一种视觉上的深度感

  7. vc++创建窗体

    //创建窗口,一般分为四步 /*1 WinMain函数的定义 2 创建一个窗口 3 编写消息循环 4 编写窗口过程函数*/ #include <windows.h> //包含windows ...

  8. background及background-size

    background有以下几种属性: background-color background-position background-size background-repeat background ...

  9. sublime Text3的使用

    sublime text百度百科: Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器.Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python ...

  10. sublime 自定义快捷生成代码块

    菜单栏目选 Tools(工具) =>Developer(插件开发)=>New Snippet....(新建代码片段),如图: 接着会新开一个标签页,会附带一些内容:如图: 将“Hello, ...