BluePrism 运行 具有用户输入的 Excel 宏
BluePrism Running An Excel Macro with User input
现在我有一个 Excel 宏需要用户输入的问题。
当前进程是:创建实例 -> 打开工作簿 -> 运行 宏
该进程停留在 "Run Macro",无法 "detached" 进行进一步操作。
有什么提示和技巧吗?
屏幕截图:
macro code
macro requiring user input
好吧,当您运行宁excel VBA代码时,BluePrism 将等待代码完成。
这意味着您不应该 运行 使用 BluePrism 这样的代码,因为它肯定会锁定您的进程。该进程将等待 VBA 完成,并且 VBA 将等待用户。
如果您想与 VBA 提供的界面进行交互,那么我可以建议您做以下事情之一:
- 重建VBA代码,使参数从BluePrism传过来,这样就不会有pop-upwindows
- 使用任何间谍技术启动 VBA 代码 - 例如创建一个 UI 按钮,BluePrism
将点击该按钮
默认情况下,此方法在 MS Excel VBO 中不可用。您需要为此扩展 VBO。
以下是extend/append您需要的功能的步骤:
- 打开 MS Excel VBO
- 复制默认情况下在 VBO 中可用的动作调用 "Run Macro"
- 更改新创建的动作名称
- 修改新创建的action的start参数(注意:这个action也要获取入参来保存值)
- 双击代码阶段并传递代码阶段的输入参数。
单击“代码”选项卡 --> 修改代码如下:
- 考虑一下,你需要将2变量传递给宏然后
- 修改语句:
GetInstance(Handle).Run(Macro_Name,param1,param2)
点击确定 -> 发布并保存新创建的动作
- 在您的流程中使用新创建的操作。
现在我有一个 Excel 宏需要用户输入的问题。
当前进程是:创建实例 -> 打开工作簿 -> 运行 宏 该进程停留在 "Run Macro",无法 "detached" 进行进一步操作。
有什么提示和技巧吗?
屏幕截图: macro code
macro requiring user input
好吧,当您运行宁excel VBA代码时,BluePrism 将等待代码完成。
这意味着您不应该 运行 使用 BluePrism 这样的代码,因为它肯定会锁定您的进程。该进程将等待 VBA 完成,并且 VBA 将等待用户。
如果您想与 VBA 提供的界面进行交互,那么我可以建议您做以下事情之一:
- 重建VBA代码,使参数从BluePrism传过来,这样就不会有pop-upwindows
- 使用任何间谍技术启动 VBA 代码 - 例如创建一个 UI 按钮,BluePrism 将点击该按钮
默认情况下,此方法在 MS Excel VBO 中不可用。您需要为此扩展 VBO。
以下是extend/append您需要的功能的步骤:
- 打开 MS Excel VBO
- 复制默认情况下在 VBO 中可用的动作调用 "Run Macro"
- 更改新创建的动作名称
- 修改新创建的action的start参数(注意:这个action也要获取入参来保存值)
- 双击代码阶段并传递代码阶段的输入参数。
单击“代码”选项卡 --> 修改代码如下:
- 考虑一下,你需要将2变量传递给宏然后
- 修改语句:
GetInstance(Handle).Run(Macro_Name,param1,param2)
点击确定 -> 发布并保存新创建的动作
- 在您的流程中使用新创建的操作。