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)
        }
    }


请参阅