PowerPoint.ShapeScopedCollection class

表示形状的集合。

扩展

注解

[ API 集:PowerPointApi 1.5 ]

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/get-set-shapes.yaml

// Changes the selected shapes fill color to red.
await PowerPoint.run(async (context) => {
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  shapes.items.map((shape) => {
    shape.fill.setSolidColor("red");
  });
  await context.sync();
});

属性

context

与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。

items

获取此集合中已加载的子项。

方法

getCount()

获取集合中的形状数。

getItem(key)

使用形状的唯一 ID 获取形状。 如果形状不存在,则会引发错误。

getItemAt(index)

使用集合中从零开始的索引获取形状。 如果索引范围外,将引发错误。

getItemOrNullObject(id)

使用形状的唯一 ID 获取形状。 如果此类形状不存在, isNullObject 则返回属性设置为 true 的对象。

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,反过来,调用toJSON传递给它的 对象的 方法。) 虽然原始PowerPoint.ShapeScopedCollection对象是 API 对象,toJSON但该方法返回一个纯 JavaScript 对象, (类型为 PowerPoint.Interfaces.ShapeScopedCollectionData) ,其中包含一个“items”数组,其中包含集合项中任何已加载属性的浅表副本。

属性详细信息

context

与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。

context: RequestContext;

属性值

items

获取此集合中已加载的子项。

readonly items: PowerPoint.Shape[];

属性值

方法详细信息

getCount()

获取集合中的形状数。

getCount(): OfficeExtension.ClientResult<number>;

返回

集合中的形状数。

注解

[ API 集:PowerPointApi 1.5 ]

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/get-set-shapes.yaml

// Gets the shapes you selected on the slide and displays their IDs on the task pane.
await PowerPoint.run(async (context) => {
  let finalTable = "";
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  await context.sync();
  finalTable += "<br>getSelectedShapes.getCount returned:<b>" + shapeCount.value + "</b><br>";
  finalTable +=
    "<br><table border=1 cellpadding=3 cellspacing=0><tr><td bgcolor=#3333EE><font color=white>Index</font></td><td bgcolor=#3333EE><font color=white>Id</font></td></tr>";
  shapes.load("items");
  await context.sync();
  shapes.items.map((shape, index) => {
    finalTable += "<tr><td>" + index + "</td><td>" + shape.id + "</td></tr>";
  });
  finalTable += "</table>";
  $("#outputSpan").empty();
  $("#outputSpan").append(finalTable);
});

getItem(key)

使用形状的唯一 ID 获取形状。 如果形状不存在,则会引发错误。

getItem(key: string): PowerPoint.Shape;

参数

key

string

形状的 ID。

返回

具有唯一 ID 的形状。 如果不存在此类形状,则会引发错误。

注解

[ API 集:PowerPointApi 1.5 ]

getItemAt(index)

使用集合中从零开始的索引获取形状。 如果索引范围外,将引发错误。

getItemAt(index: number): PowerPoint.Shape;

参数

index

number

集合中形状的索引。

返回

给定索引处的形状。 如果索引范围外,将引发错误。

注解

[ API 集:PowerPointApi 1.5 ]

getItemOrNullObject(id)

使用形状的唯一 ID 获取形状。 如果此类形状不存在, isNullObject 则返回属性设置为 true 的对象。

getItemOrNullObject(id: string): PowerPoint.Shape;

参数

id

string

形状的 ID。

返回

具有唯一 ID 的形状。 如果此类形状不存在, isNullObject 则返回属性设置为 true 的对象。

注解

[ API 集:PowerPointApi 1.5 ]

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection;

参数

返回

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection;

参数

propertyNames

string | string[]

逗号分隔的字符串或指定要加载的属性的字符串数组。

返回

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection;

参数

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select 是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand 一个逗号分隔的字符串,指定要加载的导航属性。

返回

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,反过来,调用toJSON传递给它的 对象的 方法。) 虽然原始PowerPoint.ShapeScopedCollection对象是 API 对象,toJSON但该方法返回一个纯 JavaScript 对象, (类型为 PowerPoint.Interfaces.ShapeScopedCollectionData) ,其中包含一个“items”数组,其中包含集合项中任何已加载属性的浅表副本。

toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData;

返回