我在使用 VBA 将图片包装在 Word 2003 中的文本后面时遇到问题。我可以很好地使用所有其他包装选项,但是当我尝试使用 wdWrapBehind 时,我收到以下错误。
"编译错误:未定义变量"
我通过谷歌四处寻找,但没有运气。
法典:
Dim shape1 As shape
Dim imagePath1 As String
imagePath1 = "C:image.jpg"
Set shape1 = ActiveDocument.Shapes.AddPicture(imagePath1)
With shape1
.ScaleHeight 1, msoTrue
.ScaleWidth 1, msoCTrue
.LockAspectRatio = msoTrue
.WrapFormat.Type = wdWrapBehind
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Left = InchesToPoints(0.433)
.Top = InchesToPoints(0.413)
End With
任何帮助都得到了理解!
干杯迈克尔
设法
通过添加这 4 行而不是 wdWrapBehind 来使其工作。
.WrapFormat.AllowOverlap = True
.WrapFormat.Side = wdWrapBoth
.WrapFormat.Type = 3
.ZOrder 5
完整代码:
Dim shape1 As shape
Dim imagePath1 As String
imagePath1 = "C:image.jpg"
Set shape1 = ActiveDocument.Shapes.AddPicture(imagePath1)
With shape1
.ScaleHeight 1, msoTrue
.ScaleWidth 1, msoCTrue
.WrapFormat.AllowOverlap = True
.WrapFormat.Side = wdWrapBoth
.LockAspectRatio = msoTrue
.WrapFormat.Type = 3
.ZOrder 5
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Left = InchesToPoints(6.889)
.Top = InchesToPoints(0.374)
End With