如何使用 SAP Intelligent Robotic Process Automation 自动操作 Excel

简介: 如何使用 SAP Intelligent Robotic Process Automation 自动操作 Excel

机器人流程自动化 (Robotic Process Automation,简称 RPA) 是一种允许用户将企业重复的、基于规则的业务流程进行自动化的解决方案。


与需要将流程步骤硬编码到系统中的传统自动化解决方案不同,RPA 利用了当今机器学习和人工智能的最新成果,通过观察真实用户完成流程的方式,来了解如何执行任务的自动化。


要想了解 RPA 解决方案的工作原理,可以把它想象成录制一个宏。一旦录制完成,RPA 机器人可以自主执行任务,不但能够用于复杂任务,而且可以处理任务中的异常情况,不断积累知识以响应持续变化的输入条件,利用被自动化的应用的 UI 更改。


一个更易于理解的 RPA 工作原理示例,可以考虑电子邮件和文本消息应用程序中的预测文本功能。 当我们键入电子邮件、文本等时,该应用程序会记住我们使用的某些语法和单词,然后在将来键入时自动根据这些提出建议。


RPA 所有做出的这些努力,都为最终用户从繁琐,重复,乏味的体力活中摆脱出来,让其可以进行技术附加值更高的其他事情,这也是智慧企业所倡导的 更聪明地工作,而不是更努力地工作 的一个指导方针。


除了常见的使用编程语言操作 Excel 文件之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级自动化流程解决方案,善加利用,可以在不需要编程的情况下,像使用编程语言一样灵活地操作Excel.


我们来看个具体而又简单的例子,用SAP Intelligent Robotic Process Automation操作一个Excel文件,往里面的单元格写入一个字符串,设置背景色然后关闭。


打开SAP Intelligent Robotic Process Automation Desktop Studio,导入SAP预置的操作Excel的nodejs脚本库文件。


在库文件里选择Excel Integration. 从下图能发现,SAP iRPA除了Excel之外,也支持Office里其他应用比如Word和Outlook.

430e70c1a95698c1e89fee48f89ecc02.png


新建一个名叫jerryExcel的workflow,在工作流的activities面板里输入seq,找到类型为Sequence的Flow控件。该控件允许我们在工作流里定义一系列顺序执行的步骤。


把Sequence控件拖拽到工作流编辑区域里,双击,就可以定义需要执行的详细步骤了。


Excel Lib里预置了很多围绕Excel进行的操作,如Init Excel,Open Excel,Close Excel等等,每个操作对应一段nodejs代码。


比如把Init Excel拖拽到Sequence控件的Activities列表里之后,一旦保存,会立即看到自动生成的nodejs代码。Excel Lib里每个step,都对应一段nodejs代码。如此一来,即使SAP Intelligent Robotic Process Automation Desktop Studio的使用者没有编程基础,也能开发出能操作Excel的自动化工作流。

7d93c4c3292ac569a69b4574bf9abc33.png

上图的Init Excel步骤是所有操作Excel的工作流都必须执行的一个初始化步骤。初始化完毕后,把Open Excel这个步骤拖拽到Sequence Activities里,指定要打开的Excel文件路径,在Desktop Studio里有红色提示。


把本地Excel文件的绝对路径维护进去:


第三步,设置打开的Excel第1行,第1列的值为’Hello Jerry’:


第四步,设置第1行第1列的背景色:


将修改之后的Excel另存成另一个文件。执行这个项目,就会在temp文件夹里看到另一个Excel文件。


这个例子非常简单,让我们来看看它的工作原理。

切换到Script面板,在第45行打开Excel的代码处设置断点,然后单步调试:


断点一旦触发,我们能观察到任务栏里出现一个Excel的应用窗口提示,没有显示任何内容


在任务管理器能看到该应用通过参数/automation -Embedding的方式启动:


我们想单步调试进ctx.excel.file.open方法内,发现断点并没有在open方法内停下来,而是直接执行完这个方法,此时任务栏上的应用标题从Excel更换成了open方法打开的文件名:1.xlsx.

50c784feb7f3c18f01b1eec107140cf6.png

从以上任务管理器里观察到的/automation和embedding参数,我们已经能判断出,SAP iRPA操作Excel的实现原理,和Jerry文章 使用ABAP操作Excel的几种方法 中提到的第一种方法,即通过OLE方式操作Excel是一致的。

fec410b801dfaf7e70a05f86cac5c4d2.png

如果非要刨根究底,可以到SAP iRPA SDK安装目录下,打开excel.js文件,找到open方法的实现,发现其调用了_excelApp对象的WorkBooks.Open方法:

fec410b801dfaf7e70a05f86cac5c4d2.png

而_excelApp对象,在initialize方法里通过GetObject从OLE对象Excel.Application中获取:

e65f495a3a21f25e14c5a2247bb250c9.png

还记得Jerry文章 使用ABAP操作Excel的几种方法 里提到的ABAP OLE实现源代码么?也是采用同样的方式获取Excel应用对象,连编码方式都如出一辙。


既然已经聊到JavaScript操作Excel的话题了,就顺便提一句,目前另一种流行的JavaScript操作Excel的开源库,即Node-xlsx,原理是基于Office Open XML协议去解析Excel文件,ABAP也有对应的基于Office Open XML的实现:CL_XLSX_DOCUMENT.


这种方式较之SAP iRPA采用的OLE解决方案,优势在于避免了对Excel应用的依赖,多用于服务器端对Excel的处理任务。

6216d64b046362c329103e09b8f277e2.png

总结

本文首先给出了企业级 Robotic Process Automation 解决方案(简称 RPA)的诞生原因和适用场合,接着以 Excel 文件的自动化操作为例,详细介绍了 SAP iRPA 解决方案的使用步骤。


相关实践学习
基于阿里云短信服务的防机器人验证
基于阿里云相关产品和服务实现一个手机验证码登录的功能,防止机器人批量注册,服务端采用阿里云ECS服务器,程序语言选用JAVA,服务器软件选用Tomcat,应用服务采用阿里云短信服务,
目录
相关文章
|
8月前
|
安全 云计算
阿里云RPA(Robotic Process Automation)的Rap程序
阿里云RPA(Robotic Process Automation)的Rap程序
356 1
|
6月前
SAP CRM 如何使用 ABAP 代码读取 Campaign 的数据
SAP CRM 如何使用 ABAP 代码读取 Campaign 的数据
28 0
|
3月前
|
UED
使用 SAP CRM Application Enhancement Tool 创建类型为下拉菜单的扩展字段
使用 SAP CRM Application Enhancement Tool 创建类型为下拉菜单的扩展字段
28 0
|
7月前
|
XML 机器学习/深度学习 JavaScript
如何使用 SAP Intelligent Robotic Process Automation 自动操作 Excel
如何使用 SAP Intelligent Robotic Process Automation 自动操作 Excel
45 0
|
6月前
|
存储 XML 编解码
使用 ABAP 函数读取 SAP CRM Survey 数据并解析
使用 ABAP 函数读取 SAP CRM Survey 数据并解析
39 0
|
7月前
|
存储 API 数据库
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段
52 0
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段(2)
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段
|
存储 API 数据库
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段(1)
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段
|
XML 监控 JavaScript
如何使用SAP Intelligent Robotic Process Automation自动操作Excel
如何使用SAP Intelligent Robotic Process Automation自动操作Excel
205 0
如何使用SAP Intelligent Robotic Process Automation自动操作Excel
SAP CRM Fiori 应用 My Note 里创建 Note 失败的一个原因分析
SAP CRM Fiori 应用 My Note 里创建 Note 失败的一个原因分析
131 0
SAP CRM Fiori 应用 My Note 里创建 Note 失败的一个原因分析