我想通过使用 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
如果有人需要,它可以是带有参数的子程序。