本文主要是介绍VBA之于WORD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目的:对指定文件夹中的多个WORD文件,快速统一操作。
设置统一页面(原链接引用)
参考:VBA操作WORD(三):设置页面_vba纸张方向纵向orientation-CSDN博客
Sub ModifyFirstTableInAllDocuments()Dim folderPath As StringDim file As StringDim doc As DocumentDim tbl As TableDim 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' 调整表格的方式为wdAdjustFirstColumntbl.AutoFitBehavior (wdAutoFitFirstColumn)' 将表的前3行的排列设为左右居中并且上下居中For i = 1 To 3With tbl.Rows(i).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter.SpaceBefore = 0.SpaceAfter = 0End WithNext i' 将表的第6列的1至3行拆分成1行2列For i = 1 To 3tbl.Cell(i, 6).Split NumRows:=1, NumColumns:=2Next i' 将表的第7列的1至3行合并tbl.Cell(1, 7).Merge MergeTo:=tbl.Cell(3, 7)' 保存并关闭文档doc.Savedoc.Closefile = DirLoop
End Sub
将文件中的表宽度改为与页面尺寸一致
表1的操作:
表1的前3行,行之间平均分布高度,设置为5cm;
表1的第1列设置为自适应宽度;其他列宽度与第1列相同;
表1的最后一列插入一个空列;
这篇关于VBA之于WORD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!