使用word写文档大概率是要图文并茂,要把图片表格的格式统一才能行文美观,使用批处理统一处理图片和表格是一个很好的方案,这里提供一段我自己使用的宏定义程序供大家参考。
ALT+F11 宏
Sub ASIC表格样式()
'
' ASIC表格样式 宏
'
'
For i = 1 To ActiveDocument.Tables.Count '选中循环全部图片
'ActiveDocument.Tables(i).Style = "ASIC样式" ' 使用asic表格样式
ActiveDocument.Tables(i).PreferredWidthType = wdPreferredWidthPercent '因为表格样式无法设定表格宽度,故需要另外设置
ActiveDocument.Tables(i).PreferredWidth = 96 '设置表格宽度为正文部分的98%
ActiveDocument.Tables(i).Range.Font.Size = 10 ' 表格中字号为10
Next
End Sub
Sub ASIC图片样式() '设置图片大小
'
' ASIC图片样式 宏
'
'
Dim n '图片个数
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片
'ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为 400px
'ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度 300px
ActiveDocument.InlineShapes(n).Select
'ActiveDocument.InlineShapes(n).Range.Paragraphs(1).Range.Select '上一行不行,用这个
With Selection.ParagraphFormat '所选段落的格式
.Alignment = wdAlignParagraphCenter '图片绝对居中
' .LeftIndent = 0 '左缩进磅数
' .RightIndent = 0 '右缩进磅数
' .FirstLineIndent = 0 '首行缩进磅数
' .CharacterUnitLeftIndent = 0 '左缩进字符数
' .CharacterUnitRightIndent = 0 '右缩进字符数
'.CharacterUnitFirstLineIndent = 0 '首行缩进字符数
End With
Next n
For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
' ActiveDocument.Shapes(n).Height = 400 '设置图片高度为 400px
' ActiveDocument.Shapes(n).Width = 300 '设置图片宽度 300px
ActiveDocument.InlineShapes(n).Select
'ActiveDocument.InlineShapes(n).Range.Paragraphs(1).Range.Select '上一行不行,用这个
With Selection.ParagraphFormat '所选段落的格式
.Alignment = wdAlignParagraphCenter '图片绝对居中
' .LeftIndent = 0 '左缩进磅数
' .RightIndent = 0 '右缩进磅数
' .FirstLineIndent = 0 '首行缩进磅数
' .CharacterUnitLeftIndent = 0 '左缩进字符数
' .CharacterUnitRightIndent = 0 '右缩进字符数
'.CharacterUnitFirstLineIndent = 0 '首行缩进字符数
End With
Next n
End Sub