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文字)批量修改表格宽度的主要内容,如果未能解决你的问题,请参考以下文章
如何使用C#将包含文字、图片和表格的二进制数据写入到word文件中