|
一份文件(文件压缩后还是很大,能帮我解决问题的高手,到时候我发邮件过去也行),全部由张贴的图片完成,横向,共百来张图。我的需求:批量旋转270度。电脑小白一枚。今天百度,VB批量把图由嵌入式改为了在文字上方。但是,批量旋转,没搜索到。搜到一段代码,运行一下,旋转四页,再运行一下,再旋转四页,边带前边已旋转过的四页也不对了。这段代码是:
Sub 更改图片方向()
Dim n
On Error Resume Next
For n = 1 To ActiveDocument.Shapes.Count
ActiveDocument.Shapes(n).IncrementRotation -90#
Next n
End Sub
跪求高手帮我解决两个问题:
1. 如何批量旋转?
2. 图片格式由在文字上方变回嵌入式(因为旋转图片后,图片在每一页的位置与大小都不符合打印要求,一个一个调整太麻烦),当时我由嵌入式改为浮动式用的这位高手的答案
Sub 图片版式转换()
Dim oShape As Variant, shapeType As WdWrapType
On Error Resume Next
If MsgBox("Y将图片由嵌入式转为浮动式,N将图片由浮动式转为嵌入式", 68) = 6 Then
shapeType = Val(InputBox(Prompt:="请输入图片版式:0=四周型,1=紧密型, " & vbLf & _
"3=衬于文字下方,4=浮于文字上方", Default:=0))
For Each oShape In ActiveDocument.InlineShapes
Set oShape = oShape.ConvertToShape
With oShape
Select Case shapeType
Case 0, 1
.WrapFormat.Type = shapeType
Case 3
.WrapFormat.Type = 3
.ZOrder 5
Case 4
.WrapFormat.Type = 3
.ZOrder 4
Case Else
Exit Sub
End Select
.WrapFormat.AllowOverlap = False
End With
Next
Else
For Each oShape In ActiveDocument.Shapes
oShape.ConvertToInlineShape
Next
End If
End Sub
|
|