我想通过使用单词宏将所有图像分组到某个页面或页面范围内,我将代码组合在我的文档中的所有图像中,我无法在任何选项中指定页码,是否有这样做的方法?如果是,那又是什么?
在此处粘贴我的代码:
ActiveDocument.Shapes.SelectAll
Selection.ShapeRange.Group.Select
For-each循环也可以工作,但不是特定于页面的。
答案 0 :(得分:0)
请尝试使用此代码(已测试)
Sub Gropu_Shapes_By_Page()
Dim SHP As ShapeRange
Dim PAG As Page
Dim REC As Rectangle
Dim i!
For Each PAG In ActiveWindow.Panes(1).Pages
PAG.Rectangles(1).Range.Select
For Each REC In PAG.Rectangles
If REC.RectangleType = wdShapeRectangle Then
REC.Range.ShapeRange.Select False
i = i + 1
End If
Next REC
If i > 1 Then Selection.ShapeRange.Group.Select
i = 0
Next PAG
End Sub
如您所知,很难假设每个页面的开始和结束位置,因为它取决于最终文档版本的纸张布局。因此,我们假设page
指的是printpreview
布局中的一个。
编辑一页的子版本 - 请参阅子内的评论。
Sub Gropu_Shapes_for_SinglePage()
Dim SHP As ShapeRange
Dim PAG As Page
Dim REC As Rectangle
Dim i!
'your number or variable _
referring to page number _
instead of 2 below
With ActiveWindow.Panes(1).Pages(2)
.Rectangles(1).Range.Select
For Each REC In .Rectangles
If REC.RectangleType = wdShapeRectangle Then
REC.Range.ShapeRange.Select False
i = i + 1
End If
Next REC
If i > 1 Then Selection.ShapeRange.Group.Select
End With
End Sub
如果有人需要,它可以是带参数的子程序。