在上篇《初识Excel的JS环境WPS宏编程》中提到,JS宏编程有2个比较好的参考资料,一个是官方的WPS开发平台介绍,另一个则是ES6教程,本文就WPS开发平台关于JS宏编程的重点做一个概要性的介绍。
1、客户端开发
进入开发平台后,如果只是了解JS宏编程如何编写,只要关注“客户端开发”即可。截图中所示WPS加载模式、WPS基础接口实则对应:
- JS宏编辑器介绍
- JS宏编程接口API介绍
2、JS宏编辑器介绍
WPS继承模式中提及了:WPS加载项开发、WPS宏编辑器开发、Java应用集成WPS指南等等,除WPS宏编辑器开发就是JS宏编程之外,其余或讲述如何做WPS工具栏扩展、或其他语言集成WPS等,因此只要重点关注“WPS宏编辑器开发”即可,主要讲述了:
- 宏编辑器概述
- 切换宏编辑器开发环境
- 在表格中创建和使用自定义函数
- 录制、运行宏
- 用户窗体设计
关于WPS宏编辑器如何进入,以及如何切换到JS环境,在上篇《初识Excel的JS环境WPS宏编程》中也有提及,这里建议大家关注3点:
- 如何在表格中使用自定义函数,及我们用js编写了一个函数,在表格中如何调用该函数,建议大家按开发平台文章所示DEMO,自己实践一遍。
- 录制、运行宏,宏本质上就是一段自动生成的JS代码,尤其当我们遇到有些操作JS不知道如何编写时就特别有用,录制下宏,查看宏代码即可。
- 用户窗体设计,WPS宏编程除自定义函数外,也可以进行窗体UI编程,遥想VBA当年也是用Access数据库构建了很多单机版的管理系统。
3、JS宏编程API接口开发
本专题主要讨论Excel的JS宏编程,因此这里我们只要关注“表格API”即可,表格API下又有:AddIn、Adjustments、AllowEditRange、AllowEditRanges、Application、Areas等近190个对象,不可能每个对象有哪些方法、属性都去死记硬背,只要了解,用时可以查找到即可,但是下述几个对象一定要烙刻在心里:
- 工作簿
- 工作表
- 单元格
1)工作簿集合,Workbooks
主要用来新建、打开、关闭工作簿。
2)工作簿,Workbook
最常见的就是工作簿保存或另存。
3)工作表,Worksheet
通常用下述2种方式来定位worksheet:
- Application.ActiveSheet.xxx,当前激活工作簿的当前工作表,Application可省略
- Application.Worksheets.Item(“Sheet1”),或Application.Worksheets.Item(1),Application可省略
4)单元格,Range或Cells
function range1() {
// Application.Worksheets.Item("Sheet1").Range("A5").Value2 = Application.Worksheets.Item("Sheet1").Range("A1").Value2
Application.Worksheets.Item("Sheet1").Range("A5").Value2 = Application.Worksheets.Item("Sheet1").Range("A1").Value()
}
function rand1() {
// Range is on the active sheet
ActiveSheet.Range("B1:B8").Formula = "=Rand()";
}
function cells1() {
// 等同C1
ActiveSheet.Cells.Item(1, 3).Value2 = "item-1,3"
}
效果如下图所示:
4、事件响应
开发文档中对事件响应描述,隐藏的比较深,很难找到,在“WPS宏编辑器开发–运行宏–时间响应宏”中,示例:工作表激活,A到F列自适应宽度。
function Application_SheetActivate(Sh)
{
Sh.Columns("A:F").AutoFit()
}
有哪些可用事件,在宏编辑器中,我们也可窥见一斑,如下图所示:
至此,WPS开发文档关于表格JS宏编程重点介绍完毕,尤其是众多的api接口,需要我们在实际工作过程中不断的去熟悉。