如何在VBA中将对象返回到UiPath?

时间:2018-07-26 08:36:11

标签: excel vba uipath

我正在尝试从功能Find123返回一个对象。我从子过程Retrieve123调用了它。

当我完成时,它说函数未定义,并且突出显示了CObj方法。

您能告诉我一种将整数或字符串转换为对象并在VBA中返回它的方法吗?

Sub Retrieve123()
    Call Find123()
End Sub

Function Find123()As Object
    Dim val As String
    val="100"
    Dim obj As Object
    Set obj=CObj(val)
    Set Find123 = obj
End Function

这是我收到错误消息的方式 enter image description here

当我将字符串值分配给函数时,会出现此类型不匹配错误。
enter image description here

我需要将字符串转换为对象,因为在UiPath中我们只能返回类型对象,因为Invoke VBA活动的输出是对象类型。

1 个答案:

答案 0 :(得分:0)

您不必将任何内容转换为对象,但是UiPath将Invoke VBA活动的返回值视为对象(因为它不知道返回的内容)。您可以安全地从函数中返回原始类型-在您的情况下为integer-将其存储在UiPath中的对象类型变量中,然后再次将其转换为整数。

这是一个一般示例。请注意,resultobject类型,而iinteger。在Assign活动中,i被强制转换为integer

相当于VB.NET:

i = CType(result, Integer)

Type Conversion in UiPath