【发布时间】:2018-02-08 09:30:45
【问题描述】:
我有基本的宏和 VBA 知识,但无法弄清楚我在哪里出错了。 (插入底部的代码)我希望我的宏将选定的图像移动到页面的顶部中心。我面临的问题是它不适用于文档中的每个图像,它适用于第一个图像,然后不再执行任务。我正在使用 Microsoft Word 2016。
主命令做我想做的事,我觉得我的错误在这两行之内
Set myDocument = ActiveDocument
With myDocument.Shapes(1)
完整的代码;
Sub AlignToCentre()
'
' AlignToCentre
Dim shp As Shape
Set myDocument = ActiveDocument
With myDocument.Shapes(1)
.WrapFormat.Type = wdWrapSquare
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.Left = wdShapeCenter
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = InchesToPoints(1)
End With
End Sub
【问题讨论】:
-
myDocument.Shapes(1) 将始终返回相同的形状。您应该将 index 作为参数传递给您的 sub 并执行 myDocument.Shapes(index)