查看原文
其他

VBA批量修改Word表格宽度与字体格式、大小

思源审计
2024-08-28
一、VBA批量调整word表格宽度【1】

如果文档中有许多大大小小的表格,希望宽度全部调整与页宽一样。可以按照以下步骤操作
第一步、打开Word文档,按下【Alt + F11】
  第二步、在VBA编辑器窗口的左上方,双击【ThisDocument】
  第三步、在右侧选择【Document】,再在其右侧下拉选择【Open】
  第四步、然后在宏代码编辑窗口中,Document_Open()下面输入以下代码
  Application.Browser.Target = wdBrowseTable
  For i = 1 To ActiveDocument.Tables.Count
  ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitContent) '根据内容自动调整表格
  ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitWindow) '根据窗口自动调整表格
  ActiveDocument.Tables(i).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '水平居中
  ActiveDocument.Tables(i).Range.ParagraphFormat.Alignment = wdCellAlignVerticalCenter '垂直居中
  Next i
  第五步、点击左上方的保存图标。
  第六步、在弹出的窗口中,点击【否】,如果文档已经启用了宏,就不会出现这个提示对话框了。
  第七步、将文档另存为【启用宏的 Word 文档】,然后关闭VBA编辑器和当前文档。
  第八步、找到你刚刚保存的启用宏的Word文档,双击打开,启用宏的Word文档的图标上,会有一个感叹号。
  第九步、点击【启用内容】,宏代码开始运行。
  第十步、您会发现,Word中的所有表格,都会自动调整其宽度与页面宽度一样啦,而且表格中的内容都居中对齐了。如果不希望居中对齐,就将宏代码中的水平居中和垂直居中两行去掉。

二、VBA批量设置表格中的中文字体为宋体,英文字体为Times New Roman,字号均为小四,代码如下【2】


Sub LoopTables()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        With t.Range.Font
            .NameFarEast = "宋体"
            .NameAscii = "Times New Roman"
            .Size = 12
            .Bold = False
        End With
    Next
End Sub


参考文献


【1】怎么批量修改Word表格的宽度[EB/OL].

https://product.pconline.com.cn/itbk/software/word/1405/4776598.html


【2】如何Word内多个表格统一设置中英文字体? [EB/OL].[2019-08-20].
https://club.excelhome.net/forum.php?mod=viewthread&page=2&tid=1494959


End
「思源审计」专属学习群已正式成立,扫描下方二维码添加思源君的个人微信,拉您入群交流学习。

感谢您阅读“思源审计”,如有点滴收获,请点击下方链接关注

继续滑动看下一个
思源审计
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存