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

今天老婆在修改论文,她的老板提出一个非常**的要求——把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. 9.19[XJOI] NOIP训练37

    上午[XJOI] NOIP训练37 T1 同余方程 Problem description 已知一个整数a,素数p,求解 $x^{2}\equiv a(mod p) $ 是否有整数解 Solution ...

  2. Hadoop MapReduce编程 API入门系列之wordcount版本4(八)

    这篇博客,给大家,体会不一样的版本编程. 是将map.combiner.shuffle.reduce等分开放一个.java里.则需要实现Tool. 代码 package zhouls.bigdata. ...

  3. linq的教程

    http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html

  4. C# WinForm的练习

    今天写了一个WinForm的练习,将源代码贴出来和大家一起学习学习. 首先:按照下图将一个button控件.三个RadioButton控件.三个CheckBox控件.一个Label控件和一个Track ...

  5. ADO.NET改进防注入

    static void Main1(string[] args) { //用户输入一个需要查询的条件 car表 Console.WriteLine("请输入"); string c ...

  6. javascirpt之 this、apply、call、bind

    this.apply.call.bind 这又是一个面试经典问题~/(ㄒoㄒ)/~~也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是 ...

  7. 前端-js进阶和JQ源码思维导图笔记

    看不清的朋友右键保存或者新窗口打开哦!喜欢我可以关注我,还有更多前端思维导图笔记

  8. 目标跟踪ObjectT综述介绍

    此文也很详细:http://blog.csdn.net/maochongsandai110/article/details/11530045 原文链接:http://blog.csdn.net/pp5 ...

  9. 杭电 2088 Box of Bricks

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2088 解题思路:一堆高度不同的砖块,需要把它们砌成一堵墙,即每一堆砖的高度相同(即砖的总数除以砖的堆数 ...

  10. 再谈json

    接上一篇,省市三级联动的例子中,引入了1个QQ网站上的js文件.这个js中构造了一个地址对象,页面上我们所有的操作都跟这个对象关联.今天讨论这种对象怎么构造的问题. 前面写过一篇:浅谈Json数据格式 ...