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

属性

context

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

customXmlParts

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

fill

返回此形状的填充格式。

height

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

id

获取形状的唯一 ID。

left

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

lineFormat

返回此形状的线条格式。

name

指定此形状的名称。

tags

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

textFrame

返回此形状的文本框对象。

top

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

type

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

width

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

方法

delete()

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

getParentSlide()

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

getParentSlideLayout()

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

getParentSlideLayoutOrNullObject()

返回包含此 Shape的父 PowerPoint.SlideLayout 对象。 如果此形状不属于 SlideLayoutisNullObject 则返回属性设置为 true 的对象。

getParentSlideMaster()

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

getParentSlideMasterOrNullObject()

返回包含此 Shape的父 PowerPoint.SlideMaster 对象。 如果此形状不属于 SlideMasterisNullObject 则返回属性设置为 true 的对象。

getParentSlideOrNullObject()

返回包含此 Shape的父 PowerPoint.Slide 对象。 如果此形状不属于 SlideisNullObject 则返回属性设置为 true 的对象。

load(options)

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

load(propertyNames)

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

load(propertyNamesAndPaths)

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

toJSON()

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

属性详细信息

context

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

context: RequestContext;

属性值

customXmlParts

注意

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

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

readonly customXmlParts: PowerPoint.CustomXmlPartCollection;

属性值

注解

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

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 = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  shapes.items.map((shape) => {
    shape.fill.setSolidColor("red");
  });
  await context.sync();
});

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 = 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 = 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;
});

lineFormat

返回此形状的线条格式。

readonly lineFormat: PowerPoint.ShapeLineFormat;

属性值

注解

[ API 集:PowerPointApi 1.4 ]

name

指定此形状的名称。

name: string;

属性值

string

注解

[ API 集:PowerPointApi 1.4 ]

tags

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

readonly tags: PowerPoint.TagCollection;

属性值

注解

[ API 集:PowerPointApi 1.3 ]

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 = 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";

属性值

PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table"

注解

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

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 = 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;
});

方法详细信息

delete()

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

delete(): void;

返回

void

注解

[ API 集:PowerPointApi 1.3 ]

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 的对象。

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 的对象。

getParentSlideMasterOrNullObject(): PowerPoint.SlideMaster;

返回

注解

[ API 集:PowerPointApi 1.5 ]

getParentSlideOrNullObject()

返回包含此 Shape的父 PowerPoint.Slide 对象。 如果此形状不属于 SlideisNullObject 则返回属性设置为 true 的对象。

getParentSlideOrNullObject(): PowerPoint.Slide;

返回

注解

[ API 集:PowerPointApi 1.5 ]

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 一个逗号分隔的字符串,指定要加载的导航属性。

返回

toJSON()

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

toJSON(): PowerPoint.Interfaces.ShapeData;

返回