阿里云首页 智能媒体管理

图形

图形对象

当前工作表上的所有 Shape 对象的集合。

语法:

表达式.ActiveWorkbook.ActiveSheet.Shapes

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 当前工作表上的所有 Shape 对象的集合
  const shapes = await activeSheet.Shapes;
}

图形数量

图形的数量。

语法:

表达式.ActiveWorkbook.ActiveSheet.Shapes.Count

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 当前工作表上的所有 Shape 对象的集合
  const shapes = await activeSheet.Shapes;

  // 当前图形的数量
  const count = await shapes.Count;
  console.log(count);
}

添加图形

语法:

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

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

参数:

属性

数据类型

必填

说明

Style

String

指定图表样式

XlChartType

Enum

指定图表类型,对应Enum.XlChartType

Left

Number

指定新建图表的左边距,单位 px

Top

Number

指定新建图表的上边距,单位 px

Width

Number

指定新建图表的宽度,单位 px

Height

Number

指定新建图表的高度,单位 px

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 当前工作表上的所有 Shape 对象的集合
  const shapes = await activeSheet.Shapes;

  // 添加 300 * 300 的矩形
  await shapes.AddChart2(340, 51, 0, 0, 300, 300);
}

单个图形

单个图形对象

代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片。

语法:

表达式.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;

  // 添加 300 * 300 的矩形
  await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图形对象
  const shape = await shapes.Item(1);
}

单个图形标题

语法:

表达式.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;

  // 添加 300 * 300 的矩形
  await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图形对象
  const shape = await shapes.Item(1);

  // 设置图形标题
  shape.Title = 'WebOffice';
}

单个图形名称

语法:

表达式.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;

  // 添加 300 * 300 的矩形
  await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图形对象
  const shape = await shapes.Item(1);

  // 设置图形名称
  const name = await shape.Name;
  console.log(name);
}

单个图形 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;

  // 添加 300 * 300 的矩形
  await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图形对象
  const shape = await shapes.Item(1);

  // 设置图形 ID
  const id = await shape.ID;
  console.log(id);
}

选择单个图形

语法:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.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).Delete()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.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.Delete();
  }, 3000);
}

单个图表

单个图表对象

语法:

表达式.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;

  // 单个图形对象
  const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图表对象
  const chart = await shape.Chart;
}

设置图表数据源

为指定图表设置源数据区域。

语法:

表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart.SetSourceData({ Source, PlotBy })

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

参数:

属性

数据类型

必填

说明

Source

Range

包含源数据的区域,可用 Range 对象

PlotBy

Enum

指定图表类型,对应Enum.XlRowCol,可以为 xlColumns 或 xlRows

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 图形对象
  const shapes = await activeSheet.Shapes;

  // 单个图形对象
  const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图表对象
  const chart = await shape.Chart;

  // 获取图表数据源
  const source = await activeSheet.Range('A1:D4');

  // 设置图表数据源
  await chart.SetSourceData(source, 1);
}

标题是否可见

如果坐标轴或图表有可见标题,则该属性值为 true。

语法:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 图形对象
  const shapes = await activeSheet.Shapes;

  // 单个图形对象
  const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图表对象
  const chart = await shape.Chart;

  // 获取图表数据源
  const source = await activeSheet.Range('A1:D4');

  // 设置图表数据源
  await chart.SetSourceData(source, 1);

  // 设置标题不可见
  chart.HasTitle = false;
}

图例是否可见

如果图表有图例,则该属性值为 true。

语法:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 图形对象
  const shapes = await activeSheet.Shapes;

  // 单个图形对象
  const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图表对象
  const chart = await shape.Chart;

  // 获取图表数据源
  const source = await activeSheet.Range('A1:D4');

  // 设置图表数据源
  await chart.SetSourceData(source, 1);

  // 设置图例不可见
  chart.HasLegend = false;
}

标题

设置标题。

语法:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet;

  // 图形对象
  const shapes = await activeSheet.Shapes;

  // 单个图形对象
  const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);

  // 单个图表对象
  const chart = await shape.Chart;

  // 获取图表数据源
  const source = await activeSheet.Range('A1:D4');

  // 设置图表数据源
  await chart.SetSourceData(source, 1);

  // 设置新标题
  chart.ChartTitle.Text = '这是新标题';
}