特定于组图像页面

时间:2013-04-19 06:36:25

标签: image vba ms-word word-vba

我想通过使用单词宏将所有图像分组到某个页面或页面范围内,我将代码组合在我的文档中的所有图像中,我无法在任何选项中指定页码,是否有这样做的方法?如果是,那又是什么?

在此处粘贴我的代码:

     ActiveDocument.Shapes.SelectAll
     Selection.ShapeRange.Group.Select

For-each循环也可以工作,但不是特定于页面的。

1 个答案:

答案 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

如果有人需要,它可以是带参数的子程序。