Вы находитесь на странице: 1из 2

批量设置 word 里图片的大小及版式的技巧

1.批量设置固定大小
工具-宏-新建
Sub setpicsize() '设置图片大小
Dim n '图片个数
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.Shapes.Count 'Shapes 类型图片
ActiveDocument.Shapes(n).Height = 70 '设置图片高度为 70px
ActiveDocument.Shapes(n).Width = 80 '设置图片宽度 80px
Next n
End Sub
运行即可

2.批量按比率缩小或放大
新建宏
Sub setpicsize() '设置图片大小
Dim n '图片个数
Dim picwidth
Dim picheight
On Error Resume Next '忽略错误
For n = 1 To ActiveDocument.Shapes.Count 'Shapes 类型图片
picheight = ActiveDocument.Shapes(n).Height
picwidth = ActiveDocument.Shapes(n).Width
ActiveDocument.Shapes(n).Height = picheight * 0.5 '设置高度为 0.5 倍
ActiveDocument.Shapes(n).Width = picwidth * 0.5 '设置宽度为 0.5 倍
Next n
End Sub
3 批量将图片转成嵌入型
新建宏
Sub 图片转嵌入型()
Dim apic As Shape
Application.ScreenUpdating = False
For Each apic In ActiveDocument.Shapes
apic.ConvertToInlineShape '转换为嵌入型
Next
Application.ScreenUpdating = True
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
With Selection.ParagraphFormat
.LeftIndent = MillimetersToPoints(0)
.RightIndent = MillimetersToPoints(0)
.SpaceBefore = 6
.SpaceBeforeAuto = False
.SpaceAfter = 6
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphCenter
.WidowControl = False
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = MillimetersToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.AutoAdjustRightIndent = True
.DisableLineHeightGrid = False
.FarEastLineBreakControl = True
.WordWrap = True
.HangingPunctuation = True
.HalfWidthPunctuationOnTopOfLine = False
.AddSpaceBetweenFarEastAndAlpha = True
.AddSpaceBetweenFarEastAndDigit = True
.BaseLineAlignment = wdBaselineAlignAuto
End With
End Sub
4.批量将图片转四周型
新建宏
Sub 图片版式转换四周型()
Dim apic As Variant, shapeType As WdWrapType
On Error Resume Next
For Each apic In ActiveDocument.InlineShapes
apic.ConvertToShape
With oShape
oShape.WrapFormat.Type = 0 '四周型
oShape.WrapFormat.AllowOverlap = False '不允许重叠
End With
Next
End Sub

Вам также может понравиться