zoukankan      html  css  js  c++  java
  • 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循环来做了,可是事实上这个函数好像不返回,查找了半天,网上也没有一些说法。好在用户对这个程序已经非常满意了,不过还是在此留一个悬念吧,如果以后有机会再仔细研究。

  • 相关阅读:
    卡拉OK歌词原理和实现高仿Android网易云音乐
    LRC歌词原理和实现高仿Android网易云音乐
    Android项目实战之高仿网易云音乐创建项目和配置
    Android项目实战之高仿网易云音乐项目介绍
    WPS for Linux 与统一操作系统 UOS 完成适配,WP越来越强大
    2020 年,Linux 设备或将爆炸式增长
    随机电话号码生成器怎么在线使用?
    Chrome是老大,Firefox 是老二,Edge 不是老三
    2020 年的云世界三个方面:新联盟、无服务器和安全挑战
    电话号码生成器手机版,苹果和安卓手机均可用
  • 原文地址:https://www.cnblogs.com/supakito/p/3677204.html
Copyright © 2011-2022 走看看