PowerPoint.TagCollection class

表示标记的集合。

扩展

注解

API 集:PowerPointApi 1.3

使用方

示例

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

await PowerPoint.run(async function (context) {
  let selectedSlideIndex = await getSelectedSlideIndex();

  // Decrement because the getSelectedSlideByIndex method is 1-based,
  // but the getItemAt method is 0-based.
  selectedSlideIndex = selectedSlideIndex - 1;
  const slide: PowerPoint.Slide = context.presentation.slides.getItemAt(selectedSlideIndex);
  slide.tags.add("CUSTOMER_TYPE", "Premium");

  await context.sync();

  const audienceTag: PowerPoint.Tag = slide.tags.getItem("CUSTOMER_TYPE");
  audienceTag.load("key, value");

  await context.sync();

  console.log("Added key " + JSON.stringify(audienceTag.key) + " with value " + JSON.stringify(audienceTag.value));
});

属性

context

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

items

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

方法

add(key, value)

在集合末尾添加新标签。 如果集合中已存在,则 key 现有标记的值将替换为给定 value的 .

delete(key)

删除此集合中给定 key 的标记。 如果不存在, key 则不执行任何操作。

getCount()

获取集合中的标记数。

getItem(key)

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

getItemAt(index)

使用集合中从零开始的索引获取标记。 如果索引超出范围,则会引发错误。

getItemOrNullObject(key)

使用标记的唯一 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.TagCollection 对象是 API 对象,但该 toJSON 方法返回一个纯 JavaScript 对象, (类型为 PowerPoint.Interfaces.TagCollectionData) ,其中包含一个“items”数组,其中包含从集合的 items 中加载的任何属性的浅层副本。

属性详细信息

context

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

context: RequestContext;

属性值

items

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

readonly items: PowerPoint.Tag[];

属性值

方法详细信息

add(key, value)

在集合末尾添加新标签。 如果集合中已存在,则 key 现有标记的值将替换为给定 value的 .

add(key: string, value: string): void;

参数

key

string

标记的唯一 ID,在此 TagCollection. “key”参数不区分大小写,但在保存在文档中时始终大写。

value

string

标记的值。

返回

void

注解

API 集:PowerPointApi 1.3

示例

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

await PowerPoint.run(async function (context) {
  const slide: PowerPoint.Slide = context.presentation.slides.getItemAt(0);
  slide.tags.add("OCEAN", "Indian");
  slide.tags.add("PLANET", "Jupiter");
  slide.tags.add("CONTINENT", "Antarctica");

  await context.sync();

  slide.tags.load("key, value");

  await context.sync();

  for (let i = 0; i < slide.tags.items.length; i++) {
    console.log(
      "Added key " +
        JSON.stringify(slide.tags.items[i].key) +
        " with value " +
        JSON.stringify(slide.tags.items[i].value),
    );
  }
});

delete(key)

删除此集合中给定 key 的标记。 如果不存在, key 则不执行任何操作。

delete(key: string): void;

参数

key

string

标记的唯一 ID,在此 TagCollection. key 参数不区分大小写。

返回

void

注解

API 集:PowerPointApi 1.3

示例

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

await PowerPoint.run(async function (context) {
  let presentationTags: PowerPoint.TagCollection = context.presentation.tags;

  presentationTags.delete("COLOR");

  await context.sync();

  console.log(JSON.stringify(presentationTags));
});

getCount()

获取集合中的标记数。

getCount(): OfficeExtension.ClientResult<number>;

返回

集合中的标记数。

注解

API 集:PowerPointApi 1.3

getItem(key)

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

getItem(key: string): PowerPoint.Tag;

参数

key

string

标记的 ID。

返回

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

注解

API 集:PowerPointApi 1.3

示例

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

await PowerPoint.run(async function (context) {
  let selectedSlideIndex = await getSelectedSlideIndex();

  // Decrement because the getSelectedSlideByIndex method is 1-based,
  // but the getItemAt method is 0-based.
  selectedSlideIndex = selectedSlideIndex - 1;
  const slide: PowerPoint.Slide = context.presentation.slides.getItemAt(selectedSlideIndex);
  slide.tags.add("CUSTOMER_TYPE", "Premium");

  await context.sync();

  const audienceTag: PowerPoint.Tag = slide.tags.getItem("CUSTOMER_TYPE");
  audienceTag.load("key, value");

  await context.sync();

  console.log("Added key " + JSON.stringify(audienceTag.key) + " with value " + JSON.stringify(audienceTag.value));
});

getItemAt(index)

使用集合中从零开始的索引获取标记。 如果索引超出范围,则会引发错误。

getItemAt(index: number): PowerPoint.Tag;

参数

index

number

集合中标记的索引。

返回

给定索引处的标记。 如果索引超出范围,则会引发错误。

注解

API 集:PowerPointApi 1.3

getItemOrNullObject(key)

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

getItemOrNullObject(key: string): PowerPoint.Tag;

参数

key

string

标记的 ID。

返回

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

注解

API 集:PowerPointApi 1.3

load(options)

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

load(options?: PowerPoint.Interfaces.TagCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TagCollection;

参数

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

load(propertyNamesAndPaths)

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

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

参数

propertyNamesAndPaths
OfficeExtension.LoadOption

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

返回

toJSON()

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

toJSON(): PowerPoint.Interfaces.TagCollectionData;

返回