word的宏_vba统一设置表格宽度

近来需要编辑一个文档,其中有一个问题,就是把表格都设置为100宽,因为表格很多,处理很麻烦,于是就打算学下vba,把表格处理好.
把内容存下来用于后续参考。

宏的简单操作

宏一个实用操作就是 录用-> 执行,
比如,设置ctrl+shift+b 就自动 插入一个只有一列的表格,具体可参考:
https://jingyan.baidu.com/article/ea24bc39ba09dcda62b331fa.html

查看录制宏的vba脚本

视图->宏->查看宏
这里写图片描述

->编辑


Sub2()
'
' 宏2 宏
'
'
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=8, NumColumns:= _
        1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    With Selection.Tables(1)
        If .Style <> "网格型" Then
            .Style = "网格型"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = False
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = False
        .ApplyStyleRowBands = True
        .ApplyStyleColumnBands = False
    End With
End Sub

上面的内容如果没怎么了解语法,可能看不懂,但更多都是table对象的操作,可参考api

可查看word 相关对象的方法(感觉这个网站操作不太便捷,建议在vba的编辑界面,可视图->对象浏览器 查看相关对象.)
https://msdn.microsoft.com/zh-cn/vba/word-vba/articles/table-applystyleheadingrows-property-word

自己写一个vba脚本

设置所有的table为100的脚本


Sub table_100()
'
'  宏
'
',
    Dim tempTable As Table
    Application.ScreenUpdating = False

    '判断文档是否被保护
    If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
        MsgBox "文档已保护,此时不能选中多个表格!"
        Exit Sub
    End If
    '删除所有可编辑的区域
    ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
    '添加可编辑区域
    For Each tempTable In ActiveDocument.Tables
        tempTable.Range.Editors.Add wdEditorEveryone
        tempTable.PreferredWidthType = wdPreferredWidthPercent
        tempTable.PreferredWidth = 100
    Next
    '选中所有可编辑区域
    ActiveDocument.SelectAllEditableRanges wdEditorEveryone
    '删除所有可编辑的区域
    ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
    Application.ScreenUpdating = True
End Sub

宏->查看宏->填好名字后,创建
这里写图片描述

把上面的脚本填上去, 这个脚本 是把表格设置成 100,可把100设置成其它值,然后按 运行,即可把word中的所有表格都设置成 指定宽度.
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值