本文介绍与表格文档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
是
确定是否将图片链接到从中创建该图片的文件,FileName为URL时设置为 -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;