PowerPoint.SlideScopedCollection 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

// Saves which shapes are selected so that they can be reselected later.
await PowerPoint.run(async (context) => {
  context.presentation.load("slides");
  await context.sync();
  const slides: PowerPoint.SlideScopedCollection = context.presentation.getSelectedSlides();
  const slideCount = slides.getCount();
  slides.load("items");
  await context.sync();
  savedSlideSelection = [];
  slides.items.map((slide) => {
    savedSlideSelection.push(slide.id);
  });
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  shapes.items.map((shape) => {
    savedShapeSelection.push(shape.id);
  });
});

属性

context

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

items

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

方法

exportAsBase64Presentation()

将此集合中的所有幻灯片导出到其自己的演示文稿文件,并以 Base64 编码数据的形式返回。

getCount()

获取集合中的幻灯片数。

getItem(key)

使用幻灯片的唯一 ID 获取幻灯片。

getItemAt(index)

使用集合中从零开始的索引获取幻灯片。

getItemOrNullObject(id)

使用幻灯片的唯一 ID 获取幻灯片。 如果此类幻灯片不存在,则返回属性 isNullObject 设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

toJSON()

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

属性详细信息

context

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

context: RequestContext;

属性值

items

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

readonly items: PowerPoint.Slide[];

属性值

方法详细信息

exportAsBase64Presentation()

将此集合中的所有幻灯片导出到其自己的演示文稿文件,并以 Base64 编码数据的形式返回。

exportAsBase64Presentation(): OfficeExtension.ClientResult<string>;

返回

Base64 编码的字符串。

注解

API 集:PowerPointApi 1.10

getCount()

获取集合中的幻灯片数。

getCount(): OfficeExtension.ClientResult<number>;

返回

集合中的幻灯片数。

注解

API 集:PowerPointApi 1.5

getItem(key)

使用幻灯片的唯一 ID 获取幻灯片。

getItem(key: string): PowerPoint.Slide;

参数

key

string

幻灯片的 ID。

返回

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

注解

API 集:PowerPointApi 1.5

getItemAt(index)

使用集合中从零开始的索引获取幻灯片。

getItemAt(index: number): PowerPoint.Slide;

参数

index

number

集合中幻灯片的索引。

返回

给定索引处的幻灯片。 如果索引超出范围,则会引发错误。

注解

API 集:PowerPointApi 1.5

getItemOrNullObject(id)

使用幻灯片的唯一 ID 获取幻灯片。 如果此类幻灯片不存在,则返回属性 isNullObject 设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getItemOrNullObject(id: string): PowerPoint.Slide;

参数

id

string

幻灯片的 ID。

返回

具有唯一 ID 的幻灯片。

注解

API 集:PowerPointApi 1.5

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/slide-management/get-slide-by-id.yaml

// Uses getItemOrNullObject to find a slide by ID within the selected slides.
// If the ID isn't found in the selected slides, the returned object's isNullObject property is true.
// If the ID is found in the selected slides, presentation displays that slide.
await PowerPoint.run(async (context) => {
  const slideId = (document.getElementById("slide-id-input") as HTMLInputElement).value.trim();
  if (!slideId) {
    console.log("Enter a slide ID in the text box first.");
    return;
  }

  const selectedSlides: PowerPoint.SlideScopedCollection = context.presentation.getSelectedSlides();

  // getItemOrNullObject returns a Slide object without throwing if the ID isn't found.
  const slide: PowerPoint.Slide = selectedSlides.getItemOrNullObject(slideId);
  slide.load("id");
  await context.sync();

  if (slide.isNullObject) {
    console.log(`Slide ID "${slideId}" was not found in the selected slides.`);
  } else {
    console.log(`Slide found in the selected slides.`);
    console.log(`  ID: ${slide.id}`);

    // Switch to the slide.
    context.presentation.setSelectedSlides([slide.id]);
    await context.sync();

    console.log(`Switched to the slide - ID: ${slide.id}`);
  }
});

load(options)

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

load(options?: PowerPoint.Interfaces.SlideScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideScopedCollection;

参数

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

load(propertyNamesAndPaths)

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

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

参数

propertyNamesAndPaths
OfficeExtension.LoadOption

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

返回

toJSON()

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

toJSON(): PowerPoint.Interfaces.SlideScopedCollectionData;

返回