Word文档中选择同类内容的宏

一个Word文档中同类元素的格式是否具有统一的风格,可以体现出文档编辑者的专业水平(装逼姿势的优美程度),同时也可以使文档显得更整洁,阅读起来更舒适。对于一个个人编辑的短文档,要做到这一点比较容易,但是对于多人协作编辑的文档,或者从网上下载与拷贝内容拼凑的文档,或者长文档编辑过程中因为疏忽忘记统一风格的文档,后期要将同类元素格式统一时,当然可以一个元素一个元素来操作,但一只这样亮翅膀的雄鸟就算自己不觉得厌烦,却无法吸引雌鸟的目光。要统一修改同类元素的格式,其前提就是要将所有同类元素先全部选择。全部选择同类元素当然可以按住ctrl键再用鼠标一个一个点击相关元素来完成,不过这也没有增加多少吸引力,有吸引力的操作当然是借助VBA一键操作!

VBA中有一个对象叫做“可编辑区域”,我们可以通过如下代码将任意对象(obj)加入“可编辑区域”:

obj.Range.Editors.Add wdEditorEveryone

加入可编辑区域后,通过如下方法即可选择可编辑区域的全部内容:

ActiveDocument.SelectAllEditableRanges wdEditorEveryone

因此,我们可以通过遍历文档中某种同类型元素,利用以上两个步骤一次性完成全部选择。以选择全部表格为例:

Sub SelectAllTables()

    Dim aTable As Table
    '关闭屏幕滚动,提高代码执行效率
    Application.ScreenUpdating = False
    '先清空编辑的区域内的对象,以防选择本不想选择但已加入可编辑区域的对象
    ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
    '遍历文档中的表格,将其加入可编辑区域。
    '只要是可遍历对象,例如段落、图片等,都可以用类似操作全部加入可编辑对象中
    For Each aTable In ActiveDocument.Tables
        aTable.Range.Editors.Add wdEditorEveryone
    Next
    '选中可编辑区域中的所有对象
    ActiveDocument.SelectAllEditableRanges wdEditorEveryone
    '再次清空可编辑的区域中的对象,以防误操作。这一步只是表示俺是个细心的人
    ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
    '恢复屏幕滚动
    Application.ScreenUpdating = True
End Sub

按下执行按钮,你会发现所有表格都已经解除武装,可以任你为所欲为了。

ps:只选择符合某些条件的对象,则可以在遍历对象的代码中增加一些条件判断语句进行过滤。例如只选择红色的字符,就可以在遍历characters对象时判断一下文字颜色是否是红色即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yivifu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值