handle
s 由 MS Excel VBO 的特定实例在内存中进行内部跟踪。它们不在VBO 的实例之间共享。
鉴于上述情况,并假设您的代码完全按照您的描述设置(两个不同的过程),这是预期的行为:MS Excel VBO 的实例持有您尝试交互的 Excel 实例的句柄with 在进程结束时从内存中清除。
关于“附加”功能和相关文档:大多数开箱即用的 VBO都有可用的文档,并且始终可以通过单击“i”按钮访问,如下面的屏幕截图中强调的那样:

单击此按钮会弹出一个 Internet Explorer 窗口,其中包含您在此窗口的“业务对象”字段中设置的特定对象的文档。在这种情况下,MS Excel VBO 操作“附加”具有以下描述:
1.3 附上
指向“打开实例”的向后兼容链接。这将打开找到的第一个正在运行的 Excel 实例并在此对象中链接到它。返回:
- handle : Number :一个整数,可以用来识别打开的实例。
- 启用事件:标志:指示应在附加实例上启用/禁用事件 - 默认为 True
在您的特定用例中,这可能是一个可行的操作。在大多数情况下/设计(尤其包括弹性考虑)中,应考虑自动化解决方案可能会无意中附加到另一个 Excel 实例(如果存在)。因此,您可能需要考虑重构流程设计,以便在同一 Blue Prism 流程中创建 Excel 实例并与之交互。如果您需要对启动 Excel 并处理处理的代码进行逻辑分离,您可以考虑使用单独的页面和页面引用,而不是完全使用单独的进程。
上面的最后一点非常适合您关于使用. handle
冒着多余的风险:您的假设本身是正确的,但您可能需要考虑对您的流程进行轻微的重新设计。给定 Blue Prism 流程的最佳设计不太可能在一个流程中打开 Excel 实例,并且在另一个流程之前不与它交互。