我想通过使用 word 宏对某个页面或页面范围内的所有图像进行分组,我在文档中对所有图像进行分组的代码,我无法在任何选项中指定页码,有没有办法是吗?如果是,那是什么?
在这里粘贴我的代码:
ActiveDocument.Shapes.SelectAll
Selection.ShapeRange.Group.Select
For-each 循环也可能有效,但这不是特定于页面的。
请尝试此代码(已测试)
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
如果有人需要,它可以是带有参数的子程序。