PowerPoint.Shape class

表示幻灯片中的单个形状。

扩展

注解

[ API 集:PowerPointApi 1.3 ]

示例

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

// Changes the transparency of every geometric shape in the slide.
await PowerPoint.run(async (context) => {
  // Get the type of shape for every shape in the collection.
  const shapes: PowerPoint.ShapeCollection = context.presentation.slides.getItemAt(0).shapes;
  shapes.load("type");
  await context.sync();

  // Change the shape transparency to be halfway transparent.
  shapes.items.forEach((shape) => {
    if (shape.type === PowerPoint.ShapeType.geometricShape) {
      shape.fill.transparency = 0.5;
    }
  });
  await context.sync();
});

属性

adjustments

返回一个 Adjustments 对象,该对象包含此形状中所有调整的调整值。

context

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

creationId

获取形状的创建 ID。 null如果形状没有创建 ID,则返回 。

customXmlParts

返回形状中的自定义 XML 部件的集合。

fill

返回此形状的填充格式。

group

返回 ShapeGroup 与形状关联的 。 如果形状类型不是 group,则此方法返回 GeneralException 错误。

height

指定形状的高度(以磅为单位)。 InvalidArgument使用负值设置时引发异常。

id

获取形状的唯一 ID。

left

从形状左侧到幻灯片左侧的距离(以磅为单位)。

level

返回指定形状的级别。

  • 级别为 0 表示形状不是组的一部分。

  • 级别为 1 表示形状是顶级组的一部分。

  • 大于 1 的级别指示形状是嵌套组。

lineFormat

返回此形状的线条格式。

name

指定此形状的名称。

parentGroup

返回此形状的父组。 如果形状不是组的一部分,则此方法返回 GeneralException 错误。

placeholderFormat

返回专门应用于此占位符的属性。 如果形状类型不是 placeholder,则此方法返回 GeneralException 错误。

rotation

指定形状围绕 z 轴的旋转(以度为单位)。 正值表示顺时针旋转,负值表示逆时针旋转。

tags

返回形状中的标记的集合。

textFrame

返回此 ShapePowerPoint.TextFrame 对象。 InvalidArgument如果形状不支持 ,TextFrame则引发异常。

top

从形状的上边缘到幻灯片上边缘的距离(以磅为单位)。

type

返回此形状的类型。 有关详细信息,请参阅 PowerPoint.ShapeType

visible

指定形状是否可见。

width

指定形状的宽度(以磅为单位)。 InvalidArgument使用负值设置时引发异常。

zOrderPosition

返回形状的 z 顺序位置,0 表示顺序堆栈的底部。 幻灯片上的每个形状都有唯一的 z 顺序,但每张幻灯片也有唯一的 z 顺序堆栈,因此,单独幻灯片上的两个形状可能具有相同的 z 顺序编号。

方法

delete()

从形状集合中删除形状。 如果形状不存在,则不执行任何作用。

getImageAsBase64(options)

呈现形状的图像。

getParentSlide()

返回包含此 Shape的父 PowerPoint.Slide 对象。 如果此形状不属于 , Slide则引发异常。

getParentSlideLayout()

返回包含此 Shape的父 PowerPoint.SlideLayout 对象。 如果此形状不属于 , SlideLayout则引发异常。

getParentSlideLayoutOrNullObject()

返回包含此 Shape的父 PowerPoint.SlideLayout 对象。 如果此形状不属于 SlideLayoutisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getParentSlideMaster()

返回包含此 Shape的父 PowerPoint.SlideMaster 对象。 如果此形状不属于 , SlideMaster则引发异常。

getParentSlideMasterOrNullObject()

返回包含此 Shape的父 PowerPoint.SlideMaster 对象。 如果此形状不属于 SlideMasterisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getParentSlideOrNullObject()

返回包含此 Shape的父 PowerPoint.Slide 对象。 如果此形状不属于 SlideisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getTable()

如果此形状是表, Table 则返回 对象。

getTextFrameOrNullObject()

返回此 ShapePowerPoint.TextFrame 对象。 如果形状不支持 TextFrameisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

setHyperlink(options)

为此设置具有指定选项的超链接 Shape 。 这将删除此 Shape上的任何现有超链接。

setZOrder(position)

将指定形状沿集合的 z 顺序向上或向下移动,将其移动到其他形状的前面或后面。

setZOrder(position)

将指定形状沿集合的 z 顺序向上或向下移动,将其移动到其他形状的前面或后面。

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,依次调用toJSON传递给它的 对象的 方法。) 虽然原始PowerPoint.Shape对象是 API 对象,toJSON但该方法返回一个纯 JavaScript 对象, (类型为 PowerPoint.Interfaces.ShapeData) ,其中包含从原始对象加载的任何子属性的浅表副本。

属性详细信息

adjustments

注意

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

返回一个 Adjustments 对象,该对象包含此形状中所有调整的调整值。

readonly adjustments: PowerPoint.Adjustments;

属性值

注解

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

context

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

context: RequestContext;

属性值

creationId

注意

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

获取形状的创建 ID。 null如果形状没有创建 ID,则返回 。

readonly creationId: string | null;

属性值

string | null

注解

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

customXmlParts

返回形状中的自定义 XML 部件的集合。

readonly customXmlParts: PowerPoint.CustomXmlPartCollection;

属性值

注解

[ API 集:PowerPointApi 1.7 ]

fill

返回此形状的填充格式。

readonly fill: PowerPoint.ShapeFill;

属性值

注解

[ API 集:PowerPointApi 1.4 ]

示例

// 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();
});

group

返回 ShapeGroup 与形状关联的 。 如果形状类型不是 group,则此方法返回 GeneralException 错误。

readonly group: PowerPoint.ShapeGroup;

属性值

注解

[ API 集:PowerPointApi 1.8 ]

示例

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

await PowerPoint.run(async (context) => {
  // Ungroups the first shape group on the current slide.

  // Get the shapes on the current slide.
  context.presentation.load("slides");
  const slide: PowerPoint.Slide = context.presentation.getSelectedSlides().getItemAt(0);
  slide.load("shapes/items/type,shapes/items/id");
  await context.sync();

  const shapes: PowerPoint.ShapeCollection = slide.shapes;
  const shapeGroups = shapes.items.filter((item) => item.type === PowerPoint.ShapeType.group);
  if (shapeGroups.length === 0) {
    console.warn("No shape groups on the current slide, so nothing to ungroup.");
    return;
  }

  // Ungroup the first grouped shapes.
  const firstGroupId = shapeGroups[0].id;
  const shapeGroupToUngroup = shapes.getItem(firstGroupId);
  shapeGroupToUngroup.group.ungroup();
  await context.sync();

  console.log(`Ungrouped shapes with group ID: ${firstGroupId}`);
});

height

指定形状的高度(以磅为单位)。 InvalidArgument使用负值设置时引发异常。

height: number;

属性值

number

注解

[ API 集:PowerPointApi 1.4 ]

示例

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

// Arranges the selected shapes in a line from left to right.
await PowerPoint.run(async (context) => {
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  let maxHeight = 0;
  shapes.items.map((shape) => {
    shape.load("width,height");
  });
  await context.sync();
  shapes.items.map((shape) => {
    shape.left = currentLeft;
    shape.top = currentTop;
    currentLeft += shape.width;
    if (shape.height > maxHeight) maxHeight = shape.height;
  });
  await context.sync();
  currentLeft = 0;
  if (currentTop > slideHeight - 200) currentTop = 0;
});

id

获取形状的唯一 ID。

readonly id: string;

属性值

string

注解

[ API 集:PowerPointApi 1.3 ]

left

从形状左侧到幻灯片左侧的距离(以磅为单位)。

left: number;

属性值

number

注解

[ API 集:PowerPointApi 1.4 ]

示例

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

// Arranges the selected shapes in a line from left to right.
await PowerPoint.run(async (context) => {
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  let maxHeight = 0;
  shapes.items.map((shape) => {
    shape.load("width,height");
  });
  await context.sync();
  shapes.items.map((shape) => {
    shape.left = currentLeft;
    shape.top = currentTop;
    currentLeft += shape.width;
    if (shape.height > maxHeight) maxHeight = shape.height;
  });
  await context.sync();
  currentLeft = 0;
  if (currentTop > slideHeight - 200) currentTop = 0;
});

level

返回指定形状的级别。

  • 级别为 0 表示形状不是组的一部分。

  • 级别为 1 表示形状是顶级组的一部分。

  • 大于 1 的级别指示形状是嵌套组。

readonly level: number;

属性值

number

注解

[ API 集:PowerPointApi 1.8 ]

lineFormat

返回此形状的线条格式。

readonly lineFormat: PowerPoint.ShapeLineFormat;

属性值

注解

[ API 集:PowerPointApi 1.4 ]

name

指定此形状的名称。

name: string;

属性值

string

注解

[ API 集:PowerPointApi 1.4 ]

parentGroup

返回此形状的父组。 如果形状不是组的一部分,则此方法返回 GeneralException 错误。

readonly parentGroup: PowerPoint.Shape;

属性值

注解

[ API 集:PowerPointApi 1.8 ]

placeholderFormat

返回专门应用于此占位符的属性。 如果形状类型不是 placeholder,则此方法返回 GeneralException 错误。

readonly placeholderFormat: PowerPoint.PlaceholderFormat;

属性值

注解

[ API 集:PowerPointApi 1.8 ]

rotation

注意

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

指定形状围绕 z 轴的旋转(以度为单位)。 正值表示顺时针旋转,负值表示逆时针旋转。

rotation: number;

属性值

number

注解

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

tags

返回形状中的标记的集合。

readonly tags: PowerPoint.TagCollection;

属性值

注解

[ API 集:PowerPointApi 1.3 ]

textFrame

返回此 ShapePowerPoint.TextFrame 对象。 InvalidArgument如果形状不支持 ,TextFrame则引发异常。

readonly textFrame: PowerPoint.TextFrame;

属性值

注解

[ API 集:PowerPointApi 1.4 ]

top

从形状的上边缘到幻灯片上边缘的距离(以磅为单位)。

top: number;

属性值

number

注解

[ API 集:PowerPointApi 1.4 ]

示例

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

// Arranges the selected shapes in a line from left to right.
await PowerPoint.run(async (context) => {
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  let maxHeight = 0;
  shapes.items.map((shape) => {
    shape.load("width,height");
  });
  await context.sync();
  shapes.items.map((shape) => {
    shape.left = currentLeft;
    shape.top = currentTop;
    currentLeft += shape.width;
    if (shape.height > maxHeight) maxHeight = shape.height;
  });
  await context.sync();
  currentLeft = 0;
  if (currentTop > slideHeight - 200) currentTop = 0;
});

type

返回此形状的类型。 有关详细信息,请参阅 PowerPoint.ShapeType

readonly type: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox";

属性值

PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"

注解

[ API 集:PowerPointApi 1.4 ]

示例

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

// Changes the transparency of every geometric shape in the slide.
await PowerPoint.run(async (context) => {
  // Get the type of shape for every shape in the collection.
  const shapes: PowerPoint.ShapeCollection = context.presentation.slides.getItemAt(0).shapes;
  shapes.load("type");
  await context.sync();

  // Change the shape transparency to be halfway transparent.
  shapes.items.forEach((shape) => {
    if (shape.type === PowerPoint.ShapeType.geometricShape) {
      shape.fill.transparency = 0.5;
    }
  });
  await context.sync();
});

visible

注意

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

指定形状是否可见。

visible: boolean;

属性值

boolean

注解

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

width

指定形状的宽度(以磅为单位)。 InvalidArgument使用负值设置时引发异常。

width: number;

属性值

number

注解

[ API 集:PowerPointApi 1.4 ]

示例

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

// Arranges the selected shapes in a line from left to right.
await PowerPoint.run(async (context) => {
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  let maxHeight = 0;
  shapes.items.map((shape) => {
    shape.load("width,height");
  });
  await context.sync();
  shapes.items.map((shape) => {
    shape.left = currentLeft;
    shape.top = currentTop;
    currentLeft += shape.width;
    if (shape.height > maxHeight) maxHeight = shape.height;
  });
  await context.sync();
  currentLeft = 0;
  if (currentTop > slideHeight - 200) currentTop = 0;
});

zOrderPosition

返回形状的 z 顺序位置,0 表示顺序堆栈的底部。 幻灯片上的每个形状都有唯一的 z 顺序,但每张幻灯片也有唯一的 z 顺序堆栈,因此,单独幻灯片上的两个形状可能具有相同的 z 顺序编号。

readonly zOrderPosition: number;

属性值

number

注解

[ API 集:PowerPointApi 1.8 ]

示例

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

async function changeZOrder(operation: PowerPoint.ShapeZOrder) {
  // Changes the z-order position of the selected shapes.
  return PowerPoint.run(async (context) => {
    const selectedShapes = context.presentation.getSelectedShapes();
    selectedShapes.load();
    await context.sync();

    if (selectedShapes.items.length === 0) {
      console.log("No shapes are selected.");
    } else {
      let direction = 1; // Start with bottom-most (lowest number).

      // Start with top-most when sending to back or bringing forward.

      switch (operation) {
        case PowerPoint.ShapeZOrder.bringForward:

        case PowerPoint.ShapeZOrder.sendToBack:
          direction = -1; // Reverse direction.

          break;
      }

      // Change the z-order position for each of the selected shapes,

      // starting with the bottom-most when bringing to front or sending backward,

      // or top-most when sending to back or bringing forward,

      // so the selected shapes retain their relative z-order positions after they're changed.

      selectedShapes.items
        .sort((a, b) => (a.zOrderPosition - b.zOrderPosition) * direction)
        .forEach((shape) => {
          try {
            const originalZOrderPosition = shape.zOrderPosition;
            shape.setZOrder(operation);

            console.log(`Changed z-order of shape ${shape.id}.`);
          } catch (err) {
            console.log(`Unable to change z-order of shape ${shape.id}. ${err.message}`);
          }
        });

      await context.sync();
    }
  });
}

方法详细信息

delete()

从形状集合中删除形状。 如果形状不存在,则不执行任何作用。

delete(): void;

返回

void

注解

[ API 集:PowerPointApi 1.3 ]

示例

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

// This function gets the collection of shapes on the first slide,
// and then iterates through them, deleting each one.
await PowerPoint.run(async (context) => {
  const slide: PowerPoint.Slide = context.presentation.slides.getItemAt(0);
  const shapes: PowerPoint.ShapeCollection = slide.shapes;

  // Load all the shapes in the collection without loading their properties.
  shapes.load("items/$none");

  await context.sync();

  shapes.items.forEach((shape) => shape.delete());

  await context.sync();
});

getImageAsBase64(options)

注意

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

呈现形状的图像。

getImageAsBase64(options?: PowerPoint.ShapeGetImageOptions): OfficeExtension.ClientResult<string>;

参数

options
PowerPoint.ShapeGetImageOptions

可选。 用于指定所需输出图像属性的选项。

返回

采用指定格式的形状图像的 Base64 编码字符串。

注解

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

getParentSlide()

返回包含此 Shape的父 PowerPoint.Slide 对象。 如果此形状不属于 , Slide则引发异常。

getParentSlide(): PowerPoint.Slide;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getParentSlideLayout()

返回包含此 Shape的父 PowerPoint.SlideLayout 对象。 如果此形状不属于 , SlideLayout则引发异常。

getParentSlideLayout(): PowerPoint.SlideLayout;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getParentSlideLayoutOrNullObject()

返回包含此 Shape的父 PowerPoint.SlideLayout 对象。 如果此形状不属于 SlideLayoutisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getParentSlideLayoutOrNullObject(): PowerPoint.SlideLayout;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getParentSlideMaster()

返回包含此 Shape的父 PowerPoint.SlideMaster 对象。 如果此形状不属于 , SlideMaster则引发异常。

getParentSlideMaster(): PowerPoint.SlideMaster;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getParentSlideMasterOrNullObject()

返回包含此 Shape的父 PowerPoint.SlideMaster 对象。 如果此形状不属于 SlideMasterisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getParentSlideMasterOrNullObject(): PowerPoint.SlideMaster;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getParentSlideOrNullObject()

返回包含此 Shape的父 PowerPoint.Slide 对象。 如果此形状不属于 SlideisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getParentSlideOrNullObject(): PowerPoint.Slide;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getTable()

如果此形状是表, Table 则返回 对象。

getTable(): PowerPoint.Table;

返回

注解

[ API 集:PowerPointApi 1.8 ]

示例

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

// Gets the table from a shape.
await PowerPoint.run(async (context) => {
  const shapes = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();

  if (shapeCount.value > 0) {
    const shape = shapes.getItemAt(0);
    shape.load("type");
    await context.sync();

    // The shape type can indicate whether the shape is a table.
    const isTable = shape.type === PowerPoint.ShapeType.table;

    if (isTable) {
      // Get the Table object for the Shape which is a table.
      const table = shape.getTable();
      table.load();
      await context.sync();

      // Get the Table row and column count.
      console.log("Table RowCount: " + table.rowCount + " and columnCount: " + table.columnCount);
    } else console.log("Selected shape isn't table.");
  } else console.log("No shape selected.");
});

getTextFrameOrNullObject()

注意

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

返回此 ShapePowerPoint.TextFrame 对象。 如果形状不支持 TextFrameisNullObject 则返回属性设置为 true 的对象。 有关详细信息,请参阅 *OrNullObject 方法和属性

getTextFrameOrNullObject(): PowerPoint.TextFrame;

返回

注解

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

load(options)

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

load(options?: PowerPoint.Interfaces.ShapeLoadOptions): PowerPoint.Shape;

参数

options
PowerPoint.Interfaces.ShapeLoadOptions

提供要加载对象的属性的选项。

返回

load(propertyNames)

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

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

参数

propertyNames

string | string[]

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

返回

load(propertyNamesAndPaths)

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

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): PowerPoint.Shape;

参数

propertyNamesAndPaths

{ select?: string; expand?: string; }

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

返回

注意

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

为此设置具有指定选项的超链接 Shape 。 这将删除此 Shape上的任何现有超链接。

setHyperlink(options?: PowerPoint.HyperlinkAddOptions): PowerPoint.Hyperlink;

参数

options
PowerPoint.HyperlinkAddOptions

可选。 超链接的选项。

返回

新创建的 PowerPoint.Hyperlink 对象。

注解

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

setZOrder(position)

将指定形状沿集合的 z 顺序向上或向下移动,将其移动到其他形状的前面或后面。

setZOrder(position: PowerPoint.ShapeZOrder): void;

参数

position
PowerPoint.ShapeZOrder

指定如何在 z 顺序堆栈中移动形状。 使用 ShapeZOrder 枚举。

返回

void

注解

[ API 集:PowerPointApi 1.8 ]

示例

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

async function changeZOrder(operation: PowerPoint.ShapeZOrder) {
  // Changes the z-order position of the selected shapes.
  return PowerPoint.run(async (context) => {
    const selectedShapes = context.presentation.getSelectedShapes();
    selectedShapes.load();
    await context.sync();

    if (selectedShapes.items.length === 0) {
      console.log("No shapes are selected.");
    } else {
      let direction = 1; // Start with bottom-most (lowest number).

      // Start with top-most when sending to back or bringing forward.

      switch (operation) {
        case PowerPoint.ShapeZOrder.bringForward:

        case PowerPoint.ShapeZOrder.sendToBack:
          direction = -1; // Reverse direction.

          break;
      }

      // Change the z-order position for each of the selected shapes,

      // starting with the bottom-most when bringing to front or sending backward,

      // or top-most when sending to back or bringing forward,

      // so the selected shapes retain their relative z-order positions after they're changed.

      selectedShapes.items
        .sort((a, b) => (a.zOrderPosition - b.zOrderPosition) * direction)
        .forEach((shape) => {
          try {
            const originalZOrderPosition = shape.zOrderPosition;
            shape.setZOrder(operation);

            console.log(`Changed z-order of shape ${shape.id}.`);
          } catch (err) {
            console.log(`Unable to change z-order of shape ${shape.id}. ${err.message}`);
          }
        });

      await context.sync();
    }
  });
}

setZOrder(position)

将指定形状沿集合的 z 顺序向上或向下移动,将其移动到其他形状的前面或后面。

setZOrder(position: "BringForward" | "BringToFront" | "SendBackward" | "SendToBack"): void;

参数

position

"BringForward" | "BringToFront" | "SendBackward" | "SendToBack"

指定如何在 z 顺序堆栈中移动形状。 使用 ShapeZOrder 枚举。

返回

void

注解

[ API 集:PowerPointApi 1.8 ]

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,依次调用toJSON传递给它的 对象的 方法。) 虽然原始PowerPoint.Shape对象是 API 对象,toJSON但该方法返回一个纯 JavaScript 对象, (类型为 PowerPoint.Interfaces.ShapeData) ,其中包含从原始对象加载的任何子属性的浅表副本。

toJSON(): PowerPoint.Interfaces.ShapeData;

返回