共计 2414 个字符,预计需要花费 7 分钟才能阅读完成。
机器人流程自动化 (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.
新建一个名叫 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 的自动化工作流。
上图的 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.
从以上工作管理器里察看到的 /automation 和 embedding 参数,咱们曾经能判断出,SAP iRPA 操作 Excel 的实现原理,和 Jerry 文章 应用 ABAP 操作 Excel 的几种办法 中提到的第一种办法,即通过 OLE 形式操作 Excel 是统一的。
如果非要刨根究底,能够到 SAP iRPA SDK 装置目录下,关上 excel.js 文件,找到 open 办法的实现,发现其调用了_excelApp 对象的 WorkBooks.Open 办法:
而_excelApp 对象,在 initialize 办法里通过 GetObject 从 OLE 对象 Excel.Application 中获取:
还记得 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 的解决工作。
总结
本文首先给出了企业级 Robotic Process Automation 解决方案 (简称 RPA) 的诞生起因和实用场合,接着以 Excel 文件的自动化操作为例,具体介绍了 SAP iRPA 解决方案的应用步骤。