Word(WPS文字)批量修改表格宽度

Posted VB6 TO NET

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Word(WPS文字)批量修改表格宽度相关的知识,希望对你有一定的参考价值。

一最近做的产品规格书,每个文档里面一堆的表格,每个表格宽度都有些许差异,逐个修改着实让人抓狂。了解宏功能的小伙伴估计有了想法,怎么操作呢,来吧||~展示
新建一个docx文件,打开开发工具,添加一个按钮,命名一下,名字改不改无所谓,为了好看

我这里使用的是WPS 2019专业版
双击按钮进入代码编辑

Private Sub CommandButton1_Click()
Call WordBatchProcess
End Sub
Sub TablesBatchProcess()
'将所有表格统一为页眉宽度
Dim i As Integer, j As Integer
Dim tempTable As Table
Application.ScreenUpdating = False
'删除所有可编辑的区域的用户权限
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
'添加可编辑区域
For Each tempTable In ActiveDocument.Tables
tempTable.Range.Editors.Add wdEditorEveryone
i = i + 1
Next
'选中所有可编辑区域
ActiveDocument.SelectAllEditableRanges wdEditorEveryone
'删除所有可编辑的区域的用户权限
ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
Application.ScreenUpdating = True
For j = 1 To i
ActiveDocument.Tables(j).PreferredWidth = 485.287445 
'这个宽度是我录制宏得出来的,自己根据需求改就行
Next j
End Sub
Sub WordBatchProcess()
   Dim FileName  As String
   Dim Doc As Document
   Dim MyDir As String
   MyDir = ThisDocument.Path & "\\"
    '文件夹路径根据需要自己修改,需要处理的文件都放该文件夹内
   FileName = Dir(MyDir & "\\*.docx", vbNormal) 
   '只修改docx,doc*这样会把自身docm包含进去,程序无响应
   Do Until FileName = ""
   If FileName <> ThisDocument.Name Then
         Set Doc = Documents.Open(MyDir & "\\" & FileName)
         Doc.Activate
         Call TablesBatchProcess
         Doc.Close True
         FileName = Dir()
    End If
   Loop
Set Doc = Nothing
End Sub

编辑完成后,我们保存这个word文档时,选择否

选择docm格式,这个格式可已保存我们已经写好的代码
完成后,记得把需要修改的word文档放在同一个文件夹,点击一下按钮感受一下解放双手的快感吧。
另外附件我已经上传
https://download.csdn.net/download/Pwwwqq/32481984
手懒有积分的小伙伴支持一下,代码未加密

以上是关于Word(WPS文字)批量修改表格宽度的主要内容,如果未能解决你的问题,请参考以下文章

word 批量处理 宏

如何使用C#将包含文字、图片和表格的二进制数据写入到word文件中

wps word内表格与上面文字距离大

wps word 中的部分数字和英文的字体怎么没法改成Times New Roman

批量解决 word/wps 中公式和文字不对齐的问题

word中如果批量去掉某文字后面部分: