共用方式為


ShapeRange 物件 (Publisher)

代表圖案範圍中的一組文件上的圖案。 圖案範圍可以包含一個圖案部或多達所有圖形文件中。 您可以包含您想要從檔中的所有圖案或選取範圍中的所有圖案中選擇的任何圖形,以建構圖案範圍。 例如,您可以建構包含文件、 文件中所有選取的圖形或文件中的所有手繪多邊形圖案中的前三個圖案的 ShapeRange 集合。

注意事項

[!注意事項] 您可以運用的 Shape 物件的大部分作業,也運用包含一個圖案的 ShapeRange 物件。 某些作業在包含多個圖形 的 ShapeRange 物件上執行時,會造成錯誤。

註解

使用 Shapes.Range (索引) ,其中 index 是圖案的索引編號或包含圖案索引編號的陣列,可傳回代表出版物中一組圖案的 ShapeRange 集合。 使用 Visual Basic 的 Array 函式 來建構索引編號的陣列。

雖然您可以使用 Shapes.Range 方法傳回任意數目的圖案,但如果您只想要傳回集合的單一成員,則使用 Item 方法會比較簡單。 例如, Shapes (1) 會比 Shapes.Range (1)。

使用 Selection.ShapeRange (索引) ,其中 index 是圖案的索引編號,可傳回代表選取範圍內之圖案的 Shape 物件。

使用 Align 方法、 Distribute 方法或 ZOrder 方法來放置一組相對於彼此或相對於檔的圖案。

使用 Group 方法、 Regroup 方法或 Ungroup 方法來建立並使用從圖形範圍形成的單一圖形。 GroupItems屬性會傳回GroupShapes物件,代表所有已群組成一個圖案的圖形。

範例

下列範例會設定圖案到使用中出版物的第三個填滿圖樣。

Sub ChangeFillPattern() 
    ActiveDocument.Pages(1).Shapes.Range(Array(1, 2, 3)) _ 
        .Fill.PresetGradient Style:=msoGradientDiagonalDown, _ 
        Variant:=1, PresetGradientType:=msoGradientHorizon 
End Sub

下列範例會選取前兩個使用中出版物第一頁上的圖案,並將選取範圍中第一個圖案的填滿。

Sub ChangeFillForShapeRange() 
    ActiveDocument.Pages(1).Shapes.Range(Array(1, 2)).Select 
    Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0) 
End Sub

本範例會選取使用中出版物第一頁上的所有圖案,然後在該範圍的第二個圖案中新增和格式化文字。

Sub SelectShapesOnPageOne() 
    ActiveDocument.Pages(1).Shapes.Range.Select 
    With Selection.ShapeRange(2).TextFrame.TextRange 
        .Text = "Shape Number 2" 
        .ParagraphFormat.Alignment = pbParagraphAlignmentCenter 
        .Font.Size = 25 
    End With 
End Sub

本範例會指定圖案範圍為靠左對齊和垂直分散對齊頁面上的圖形。

Sub AlignDistributeShapes() 
    Dim rngShapes As ShapeRange 
    Set rngShapes = ActiveDocument.Pages(1).Shapes.Range 
 
    With rngShapes 
        .Align AlignCmd:=msoAlignLefts, RelativeTo:=msoFalse 
        .Distribute DistributeCmd:=msoDistributeVertically, RelativeTo:=msoTrue 
    End With 
End Sub

本範例會指定圖案範圍為靠左對齊和垂直分散對齊頁面上的圖形。

Sub GroupShapes() 
    Dim rngShapes As ShapeRange 
    Set rngShapes = ActiveDocument.Pages(1).Shapes.Range 
    rngShapes.Group 
 
    rngShapes(1).Fill.OneColorGradient _ 
        Style:=msoGradientFromCenter, _ 
        Variant:=2, Degree:=1 
End Sub

方法

屬性

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應