VBA之于WORD
2023-12-23 08:33:36
目的:对指定文件夹中的多个WORD文件,快速统一操作。
设置统一页面(原链接引用)
参考:VBA操作WORD(三):设置页面_vba纸张方向纵向orientation-CSDN博客
Sub ModifyFirstTableInAllDocuments()
Dim folderPath As String
Dim file As String
Dim doc As Document
Dim tbl As Table
Dim i As Integer
' 指定文件夹路径
folderPath = "C:\Users\sjplj\Desktop\111\"
' 循环遍历文件夹中的所有Word文档
file = Dir(folderPath & "*.doc")
Do While file <> ""
' 打开文档
Set doc = Documents.Open(folderPath & file)
With doc.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait '页面方向为纵向
.TopMargin = CentimetersToPoints(2) '上边距
.BottomMargin = CentimetersToPoints(2) '下边距
.LeftMargin = CentimetersToPoints(2) '左边距
.RightMargin = CentimetersToPoints(2) '右边距
End With
' 获取文档中的第一个表格
Set tbl = doc.Tables(1)
' 在表格指定位置添加照片框
' 请将 "C:\Users\sjplj\Desktop\111\image.jpg" 替换为实际的图片路径
tbl.Cell(1, 1).Range.InlineShapes.AddPicture folderPath & "image.jpg"
' 将表的cells(1,3)单元格宽度设置为3.5cm
'tbl.Cell(1, 3).Width = CentimetersToPoints(3.5)
tb1.Columns(1).SetWidth ColumnWidth:=70.9, RulerStyle:= _
wdAdjustFirstColumn
' 调整表格的方式为wdAdjustFirstColumn
tbl.AutoFitBehavior (wdAutoFitFirstColumn)
' 将表的前3行的排列设为左右居中并且上下居中
For i = 1 To 3
With tbl.Rows(i).Range.ParagraphFormat
.Alignment = wdAlignParagraphCenter
.SpaceBefore = 0
.SpaceAfter = 0
End With
Next i
' 将表的第6列的1至3行拆分成1行2列
For i = 1 To 3
tbl.Cell(i, 6).Split NumRows:=1, NumColumns:=2
Next i
' 将表的第7列的1至3行合并
tbl.Cell(1, 7).Merge MergeTo:=tbl.Cell(3, 7)
' 保存并关闭文档
doc.Save
doc.Close
file = Dir
Loop
End Sub
将文件中的表宽度改为与页面尺寸一致
表1的操作:
表1的前3行,行之间平均分布高度,设置为5cm;
表1的第1列设置为自适应宽度;其他列宽度与第1列相同;
表1的最后一列插入一个空列;
文章来源:https://blog.csdn.net/sjpljr/article/details/135164244
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!