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

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

宏的简单操作

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

查看录制宏的vba脚本

视图->宏->查看宏
《word的宏_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

宏->查看宏->填好名字后,创建
《word的宏_vba统一设置表格宽度》

把上面的脚本填上去, 这个脚本 是把表格设置成 100,可把100设置成其它值,然后按 运行,即可把word中的所有表格都设置成 指定宽度.
《word的宏_vba统一设置表格宽度》

    原文作者:名明鸣冥
    原文地址: https://blog.csdn.net/mingover/article/details/78717976
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞