PowerPoint.SlideCollection class

表示演示文稿中的幻灯片集合。

扩展

注解

[ API 集:PowerPointApi 1.2 ]

示例

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

const chosenMaster = (document.getElementById("master-id") as HTMLInputElement).value;
const chosenLayout = (document.getElementById("layout-id") as HTMLInputElement).value;

await PowerPoint.run(async function(context) {
  // Create a new slide using an existing master slide and layout.
  const newSlideOptions: PowerPoint.AddSlideOptions = {
    slideMasterId: chosenMaster, /* An ID from `Presentation.slideMasters`. */
    layoutId: chosenLayout /* An ID from `SlideMaster.layouts`. */
  };
  context.presentation.slides.add(newSlideOptions);
  await context.sync();
});

属性

context

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

items

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

方法

add(options)

将新幻灯片添加到集合。

exportAsBase64Presentation(values)

将在此集合中找到的一张或多张幻灯片导出到其自己的演示文稿文件,作为 Base64 编码数据返回。 InvalidArgument如果在此集合中找不到提供的幻灯片 ID 或Slide对象,则引发异常。

getCount()

获取集合中的幻灯片数。

getItem(key)

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

getItemAt(index)

使用集合中从零开始的索引获取幻灯片。 幻灯片的存储顺序与演示文稿中显示的顺序相同。

getItemOrNullObject(id)

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

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

toJSON()

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

属性详细信息

context

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

context: RequestContext;

属性值

items

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

readonly items: PowerPoint.Slide[];

属性值

方法详细信息

add(options)

将新幻灯片添加到集合。

add(options?: PowerPoint.AddSlideOptions): void;

参数

options
PowerPoint.AddSlideOptions

可选。 用于配置新幻灯片属性的选项。

返回

void

注解

[ API 集:PowerPointApi 1.3 ]

示例

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

const chosenMaster = (document.getElementById("master-id") as HTMLInputElement).value;
const chosenLayout = (document.getElementById("layout-id") as HTMLInputElement).value;

await PowerPoint.run(async function(context) {
  // Create a new slide using an existing master slide and layout.
  const newSlideOptions: PowerPoint.AddSlideOptions = {
    slideMasterId: chosenMaster, /* An ID from `Presentation.slideMasters`. */
    layoutId: chosenLayout /* An ID from `SlideMaster.layouts`. */
  };
  context.presentation.slides.add(newSlideOptions);
  await context.sync();
});

exportAsBase64Presentation(values)

注意

此 API 以预览状态提供给开发者,可能根据我们收到的反馈更改。 请勿在生产环境中使用此 API。

将在此集合中找到的一张或多张幻灯片导出到其自己的演示文稿文件,作为 Base64 编码数据返回。 InvalidArgument如果在此集合中找不到提供的幻灯片 ID 或Slide对象,则引发异常。

exportAsBase64Presentation(values: Array<string | Slide>): OfficeExtension.ClientResult<string>;

参数

values

Array<string | PowerPoint.Slide>

幻灯片 ID 或 Slide 对象的数组。

返回

Base64 编码的字符串。

注解

[ API 集:PowerPointApi BETA (仅预览版) ]

getCount()

获取集合中的幻灯片数。

getCount(): OfficeExtension.ClientResult<number>;

返回

集合中的幻灯片数。

注解

[ API 集:PowerPointApi 1.2 ]

getItem(key)

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

getItem(key: string): PowerPoint.Slide;

参数

key

string

幻灯片的 ID。

返回

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

注解

[ API 集:PowerPointApi 1.2 ]

getItemAt(index)

使用集合中从零开始的索引获取幻灯片。 幻灯片的存储顺序与演示文稿中显示的顺序相同。

getItemAt(index: number): PowerPoint.Slide;

参数

index

number

集合中幻灯片的索引。

返回

给定索引处的幻灯片。 如果索引范围外,将引发错误。

注解

[ API 集:PowerPointApi 1.2 ]

示例

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

// Selects slides 2, 4, and 5.
await PowerPoint.run(async (context) => {
  context.presentation.load("slides");
  await context.sync();
  const slide2: PowerPoint.Slide = context.presentation.slides.getItemAt(1);
  const slide4: PowerPoint.Slide = context.presentation.slides.getItemAt(3);
  const slide5: PowerPoint.Slide = context.presentation.slides.getItemAt(4);
  slide2.load("id");
  slide4.load("id");
  slide5.load("id");
  try {
    await context.sync();
  } catch (error) {
    console.warn("This action requires at least 5 slides in the presentation.");
    return;
  }
  await context.sync();
  context.presentation.setSelectedSlides([slide2.id, slide4.id, slide5.id]);
  await context.sync();
});

getItemOrNullObject(id)

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

getItemOrNullObject(id: string): PowerPoint.Slide;

参数

id

string

幻灯片的 ID。

返回

具有唯一 ID 的幻灯片。

注解

[ API 集:PowerPointApi 1.2 ]

load(options)

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

load(options?: PowerPoint.Interfaces.SlideCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideCollection;

参数

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

load(propertyNamesAndPaths)

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

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

参数

propertyNamesAndPaths
OfficeExtension.LoadOption

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

返回

toJSON()

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

toJSON(): PowerPoint.Interfaces.SlideCollectionData;

返回