Shape

本文介绍与表格文档Shape相关的API。

Shapes

ActiveWorkbook.ActiveSheet.Shapes

获取当前活动工作表中的所有图形对象。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    }

方法

ActiveWorkbook.ActiveSheet.Shapes.AddChart2()

通过AddChart2()方法,您可以添加图表。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.AddChart2({ Style, XlChartType, Left, Top, Width, Height })

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    是否必填

    描述

    Style

    String

    新建图表的样式。

    XlChartType

    Enum

    新建图表的类型。

    Left

    Number

    新建图表的左边距,单位为像素。

    Top

    Number

    新建图表的上边距,单位为像素。

    Width

    Number

    新建图表的宽度,单位为像素。

    Height

    Number

    新建图表的高度,单位为像素。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    }

ActiveWorkbook.ActiveSheet.Shapes.AddPicture()

通过AddPicture()方法,您可以添加图片。

重要

JS-SDK V1.1.19及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.AddPicture({ FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, Scale })

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    必填

    说明

    FileName

    String

    指定要插入的图片文件,URL或者Base64。

    LinkToFile

    Enum

    确定是否将图片链接到从中创建该图片的文件,FileNameURL时设置为 -1。

    SaveWithDocument

    Enum

    确定是否将已链接的图片插入到文档一起保存。 如果链接到文件为msoFalse,则此参数必须为msoTrue。

    Left

    Number

    指定图片左边缘相对于表格左边缘的位置,单位 px。

    Top

    Number

    指定图片上边缘相对于表格上边缘的位置,单位 px。

    Width

    Number

    指定图片的宽度,单位 px。

    Height

    Number

    指定图片的高度,单位 px。

    Scale

    Boolean

    是否按表格比例计算宽高和坐标。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      // 活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      // 当前工作表上的所有 Shape 对象的集合
      const shapes = await activeSheet.Shapes;
    
      // 添加图片
      await shapes.AddPicture('图片URL', -1, 0);
    }

ActiveWorkbook.ActiveSheet.Shapes.Item(Index)

通过Item方法,您可以获取绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片。

重要

JS-SDK V1.1.4及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    必填

    说明

    Index

    number

    第 Index 个图形

  • 示例

    async function example() {
        await instance.ready();
    
        const app = instance.Application;
    
        // 活动工作簿中的活动工作表
        const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
        // 当前工作表上的所有 Shape 对象的集合
        const shapes = await activeSheet.Shapes;
        
        //获取第 1 个图形对象
        const shape = await shapes.Item(1)
    }

属性

ActiveWorkbook.ActiveSheet.Shapes.Count

通过Count属性,您可以获取当前活动工作表中图形的数量。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Count

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //获取当前活动工作表中图形的数量
      const count = await shapes.Count;
      console.log(count);
    }

Shape

ActiveWorkbook.ActiveSheet.Shapes.Item(Index)

获取单个图形对象。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index)

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取当前活动工作表中最新的所有图形对象
      const newShapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await newShapes.Item(1);
    }

方法

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Delete()

通过Delete()方法,您可以删除单个图形对象。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Delete()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取图形数据源
      const source = await activeSheet.Range('A1:B4');
    
      //设置图形数据源
      await shape.Chart.SetSourceData(source, 1);
    
      //3000 ms后删除该图形
      setTimeout(async () => {
        await shape.Delete();
      }, 3000);
    }

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Select()

通过Select()方法,您可以选中单个图形。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Select()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      // 活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
      //或者 activeSheet = await app.ActiveSheet;
    
      // 图形对象
      const shapes = await activeSheet.Shapes;
    
      // 单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      // 获取图形数据源
      const source = await activeSheet.Range('A1:B4');
    
      // 设置图形数据源
      await shape.Chart.SetSourceData(source, 1);
    
      // 选择单个图形
      setTimeout(async () => {
        await shape.Select();
      }, 3000);
    }

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).SelectedModel()

通过SelectedModel()方法,您可以选择单个图形。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).SelectedModel()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      // 活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
      //或者 activeSheet = await app.ActiveSheet;
    
      // 图形对象
      const shapes = await activeSheet.Shapes;
    
      // 单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      await shape.SelectedModel();
    }

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).SelectedModels()

通过SelectedModels()方法,您可以选择单个图形的集合。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).SelectedModels()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      // 活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
      //或者 activeSheet = await app.ActiveSheet;
    
      // 图形对象
      const shapes = await activeSheet.Shapes;
    
      // 单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      await shape.SelectedModels();
    }

属性

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).ID

通过ID属性,您可以获取单个图形对象的ID。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).ID

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取该图形的ID
      const id = await shape.ID;
      console.log(id);

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Name

通过Name属性,您可以获取单个图形对象的名称。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Name

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取该图形的名称
      const name = await shape.Name;
      console.log(name);

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Title

通过Title属性,您可以设置单个图形对象的标题。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Title

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //设置该图形的标题
      shape.Title = 'Aliyun';

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart

通过Chart属性,您可以获取单个图表对象。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图表对象
      const chart = await shape.Chart;

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).ImageUrl

通过ImageUrl属性,您可以获取单个图形对象的图片下载链接。

重要

JS-SDK V1.1.15及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).ImageUrl

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前活动工作表中的所有图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加簇状柱形图
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取该图片的下载链接
      const ImageUrl = await shape.ImageUrl;