UiPath 中文教程

【UiPath 中文教程】06 - 在 UiPath 中运行 V

2018-10-05  本文已影响560人  Creator_蔚蓝

上节的《在 UiPath 中运行 VBA(上)》介绍了 Execute macro 和 Invoke VBA 的基本特性和初级用法。这一节接着上一节的内容继续讲述进阶的用法,主要探讨如何将参数传递到 VBA 代码中处理,并返回结果。


一、为什么要与 VBA 脚本交互数据?

1 使代码更加紧凑、灵活 ,易于维护

如果能将工作流中的数据传递到 VBA 代码并接收返回结果,就能利用 VBA 脚本来处理数据,并将结果返回到工作流中。

这种情况下,可以利用 VBA 进行数据清洗之类的工作。解决同样的数据处理问题,VBA 脚本相比于UiPath 自带的流程分支更加紧凑和清晰。

这也避免了使用 UiPath 自带的活动处理数据的时候,分支过多会使项目变得难以维护的问题。

VBA 语言是一门图灵完备的语言,它具有一门编程语言应有的所有特性。因此VBA 脚本相比于UiPath 自带的活动也更加灵活,这种灵活性在处理 Excel 数据时尤为突出。这是使用 VBA 处理数据的又一亮点。

2 灵活配置 Excel 的功能 

 你可以传递像工作簿路径之类的参数到 VBA 脚本中,然后使用 VBA 脚本来处理指定的工作簿。有了参数的传递,你可以控制的参数更加多了,对Excel 的操控更加灵活了。

3 更好地返回执行结果 

可以返回数据意味着你可以直接在脚本中调用 Excel 内置的函数库,运行并返回结果。你不必再为 sumif, VLookup 之类的函数造轮子。你可以用的资源更多了。

你还可以在程序结束的时候返回执行的状态,然后在程序结束的时候接收来自 VBA 代码段的返回数据,用来在工作流中判断脚本程序运行的状态。这样能更好地在工作流中控制 VBA 脚本的执行,如是否正常退出、是否发生某些错误等等。

4 更多好处

你还可以发掘向 VBA 脚本传递参数和返回数据的更多好处。总之,相比于没有数据传递的情况,可以向 VBA 传入和传出数据之后,我们编写 UiPath 流程可用的资源更多了,生活更加容易了。

下面,我们用示例来说明使用 Execute macro 时传递参数的具体细节和技巧。Invoke VBA 的数据交互方法依此类推,不再赘述。


二、往 Macro 传入参数

1 创建一个名为 MacroBook.xlsm 的工作簿

2 打开工作簿,在 Excel 的开发工具选项卡或者 F12 快捷方式打开 VBE

3 插入一个名为 MacroModule 的 VBA 模块

4 在模块中插入如下的 VBA 代码段

5 保存并关闭 MacroBook.xlsm 工作簿,关闭 Excel。

至此, 你创建了一个工作簿,内部包含一段宏。只要你在调用宏的时候传递字符串参数,这个宏就会以消息框弹窗显示你所传递的字符串。

6 打开 UiPath Studio, 创建一个空白的工程,拖入 Excel application scope 活动和 Execute macro 活动。

7 在 Excel application scope的 Workbook Path 字段输入刚才创建的工作簿路径:"MacroBook.xlsm"。

8 在Execute macro 的 Macro Name 字段输入刚才创建的宏名 "MacroInBookInParamater"。

9 这时的流程图看起来应该是这样的:

10 (重点) 选中 Execute macro 活动,在 Macro Parameters字段输入 {"Parameter from UiPath to Excel."}

"Parameter from UiPath to Excel. " 这个字符串就是我们这次向 MacroInBookInParamater 传递的参数。这个字符串将会显示在消息弹框中。

11 保存并运行工作流, 得到如下的弹框:

这说明了在 UiPath 工作流中传入的参数被 Excel Macro 准确地接收,Excel Macro 通过消息框将接收到的数据呈现出来。一切都按照如期进行,你已经学会了如何向 Macro 传递参数。

上述的例子仅仅是演示了传递一个字符串参数的情况,你还可以同时传递多个不同数据类型的参数到 Macro 中。后面的例子会说明这一点。

第10 步的关键在于正确地组织参数。在这里,数据的格式很重要,要点包括:

1 数据列表必须以花括号括起来;

2 字符串类型的数据必须以包含在英文双引号内部;

……

……

……

未完

此教程完整版发布在微信公众号 UiPath教程 请在公众号上阅读完整文章。你还可以在公众号上获得更多 UiPath 相关的资讯

由于简书禁止直接在文章中插入公众号二维码,请点击这里了解添加该公众号的细节。

上一篇 下一篇

猜你喜欢

热点阅读