WPS 基础接口 > 演示 API 参考 > Shapes > 方法 > Shapes.Range 方法
返回一个代表 Shapes 集合中的形状子集的 ShapeRange 对象。

语法

表达式.Range(Index)

表达式   一个代表 Shapes 对象的变量。

参数

名称 必选/可选 数据类型 描述
Index 可选 Variant 要包含在范围中的各个形状。可以是指定形状的索引号的 Integer、指定形状名称的 String,或者是包含整数或字符串的数组。如果省略此参数,则 Range 方法将返回指定集合中的所有对象。

返回值
ShapeRange

说明

虽然可以使用 Range 方法返回任意数目的形状或幻灯片,但如果只需要返回该集合的一个成员,则使用 Item 方法会更为简单。例如,Shapes(1)Shapes.Range(1) 简单,Slides(2)Slides.Range(2) 简单。

若要为 Index 指定一个整数或字符串数组,可以使用 Array 函数。例如,以下指令返回用名称指定的两个形状。

Dim myArray() As Variant, myRange As Object myArray = Array("Oval 4", "Rectangle 5") Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)

示例

本示例设置 myDocument 中第一个形状和第三个形状的填充图案。

示例代码
let myDocument = ActivePresentation.Slides.Item(1)
myDocument.Shapes.Range([1, 3]).Fill 
    .Patterned(msoPatternHorizontalBrick)

本示例设置第一张幻灯片中名为 Oval 4 和 Rectangle 5 的形状的填充图案。

示例代码
let myArray = ["Oval 4", "Rectangle 5"]
let myRange = ActivePresentation.Slides.Item(1).Shapes.Range(myArray)
myRange.Fill.Patterned(msoPatternHorizontalBrick)

本示例设置第一张幻灯片中所有形状的填充图案。

示例代码
ActivePresentation.Slides.Item(1).Shapes.Range().Fill
    .Patterned(msoPatternHorizontalBrick)

本示例设置第一张幻灯片中第一个形状的填充图案。

示例代码
let myDocument = ActivePresentation.Slides.Item(1)
let myRange = myDocument.Shapes.Range(1)
myRange.Fill.Patterned(msoPatternHorizontalBrick)

本示例创建一个包含第一张幻灯片中所有自选图形的数组,并用它定义一个形状范围,然后在该范围内水平地分布所有这些形状。

示例代码
let myDocument = ActivePresentation.Slides.Item(1)
let myShape = myDocument.Shapes
    let numShapes = myShape.Count

    //Continues if there are shapes on the slide
    if(numShapes > 1) {
        let numAutoShapes = 0
        let autoShpArray = []
        for(let i = 1;i <= numShapes;i++) {

            //Counts the number of AutoShapes on the Slide
            if(myShape.Item(i).Type == msoAutoShape) {
                numAutoShapes = numAutoShapes + 1
                autoShpArray[numAutoShapes-1] = myShape.Item(i).Name
            }
        }

        //Adds AutoShapes to ShapeRange
        if(numAutoShapes > 1) {
            let asRange = myShape.Range(autoShpArray)
            asRange.Distribute(msoDistributeHorizontally, false)
        }
    }


请参阅