文章 / 公众号历史文章
『组合拳下威力无敌』在影刀上使用WPS,彻底玩转RPA+WPS+JSA
在电子表格的世界,除了Excel,就是WPS,中国大环境下,WPS已经成为首选。相对VBA的深入人心,WPS的JSA也后劲十足(借助笔者开发的神助攻系列增强后)。 【JSA宏神助攻之一】FreeScript给数据分析工作者带来无限惊喜,在Excel/WPS环境上做专业数据分析不是梦 『JSA宏神助攻
在电子表格的世界,除了Excel,就是WPS,中国大环境下,WPS已经成为首选。相对VBA的深入人心,WPS的JSA也后劲十足(借助笔者开发的神助攻系列增强后)。
【JSA宏神助攻之一】FreeScript给数据分析工作者带来无限惊喜,在Excel/WPS环境上做专业数据分析不是梦
『JSA宏神助攻之二』使用外部程序/VSTO插件执行JSA宏
『JSA宏神助攻之三』将JSA宏另存为xlam以加载项方式供外部程序无感调用和手撸大法生成带JSA宏的xlam文件
『JSA宏神助攻之四』让JSA宏连接外界,全面使用JS生态轮子库
『JSA宏神助攻之五』使用搭建本地web服务让JSA宏连接本地文件读写
再次发力,邀请RPA的头部选手影刀RPA,将WPS的JSA的能力植入影刀中使用(无偿提供了全套技术方案,让影刀RPA调用JSA成为可能)。在使用影刀RPA完成自动化流程全过程,特别是在需要产出结果物为电子表格的场景里,可以使用影刀RPA,调用WPS的JSA接口,实现WPS环境下的无限自动化。
目前在影刀的自定义指令集里,增加了一个WPS扩展的指令集,里面有两个指令,一个是特定场景的调用WPS的JSA的插入单元格图片。

通过传入图片路径,单元格位置等参数后,出来的效果是一个使用DISPING函数生成的单元格图片,可双击放大,随单元格排序、筛选,是目前电子表格插入图片最理想的方式。
详细教程:https://www.yingdao.com/yddoc/rpa/712859039454273536

除了这个特定的指令功能,还有一个是直接向WPS发起JSA代码的无限扩展的指令。
有了这个指令后,可以向WPS发起任意自定义的JSA代码,特别是一些VBA接口里不开放仅在JSA中开放的接口,如上面的插入单元格图片还有插入WebShape网页对象等。

这里的高级选项,非常值得关注,有了它,可以让JSA突破现有的javascript的能力,直接连接javascript的生态,让整个优秀的javascript生态的轮子能在JSA上使用。例如下面引用了lodash和dayjs库,引用的方式可以是在线网址,也可以是本地下载的文件(多个库中间用逗号隔开即可)。

可以使用下面的代码运行过程中调用了高级里设置的lodash和dayjs库
//下面代码使用dayjs库来处理日期const now = dayjs();const startOfMonth = now.startOf('month');const startOfMonthValue=startOfMonth.format('YYYY-MM-DD');//下面代码使和lodash库的compact函数,去除0、false等值var arr= _.compact([0, 1, false, 2, '', 3,startOfMonthValue]);var rng= Application.Range("A5");rng.Resize(1,arr.length).Value2=arr;
插个话吐槽下,本来WebShape是一个非常有应用场景的好东西,可以让网页在WPS三大件中显示,但官方因为安全的原因,非要用户去信任某个网址才可以打开,就算baidu甚至它们自己官网wps.cn也不例外。
被这个强制信任后,效果荡然无存,谁能接受傻傻地每次打开文件(没看错,是每一次),还要去点一通信任,才能看到内容。

所以,天下苦这个傻逼方案已久,当使用影刀RPA来打开这个文件,当然可以使用其全自动的模拟人操作,让程序去点击这个信任按钮,效果变成了一气呵成,从创建到显示,全自动化完成。

结语
大千世界,需求无其不有,而整个工具世界,也不存在一个工具打天下,可以通吃一切需求。
就算RPA工具,看似到了自动化的尽头了,如果落在电子表格的自动化上,没有了宏代码的执行,单凭RPA工具里开发各种电子表格的自动化功能,肯定是不足的。本篇给大家展示了在影刀RPA上,直接开出一个口子,执行任意的JSA代码,并且可连接第三方javascript轮子库世界。
多种工具结合使用,取长补短,让不可能成为可能。也欢迎读者们提出更多复杂场景,可以充分发挥笔者掌握多工具的优势,脑洞大开,玩转多工具结合,让方案重归可行且简单。
打造低成本、可落地的数据解决方案,我能。
有定制化需求,请咨询笔者(微信190262897),有绝佳的方案等着您不会让您失望。
