You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blue Prism VB代码阶段报错:End of statement expected,求排查

Blue Prism VB代码报错修复方案

核心报错修复

你代码里的SetStageVariable调用存在语法错误,当前写法把参数用逗号拆分到括号外,不符合VB语法规范,导致出现“End of statement expected”错误。

错误代码:

SetStageVariable("SelectedNumbers"), SelectedNumbers

正确写法:

SetStageVariable("SelectedNumbers", SelectedNumbers)

其他需优化的细节

  • 显式声明变量:VB默认允许隐式声明,但在Blue Prism中显式声明变量能避免潜在问题,需在初始化部分补充sum的声明:
    Dim sum
    
  • 处理字符串末尾逗号:循环结束后SelectedNumbers会多出一个末尾逗号,建议添加逻辑去除:
    If Len(SelectedNumbers) > 0 Then
        SelectedNumbers = Left(SelectedNumbers, Len(SelectedNumbers) - 1)
    End If
    
  • 集合类型校验:确保PositiveCollection是Blue Prism支持的可遍历集合类型(如内置Collection),若为其他类型需调整遍历逻辑。
  • 类型匹配检查:确认NegativeNumber为数值类型,避免运算或拼接时出现类型错误。

修复后的完整代码

' Initialize variables
Dim NegativeNumber, PositiveCollection, SelectedNumbers, sum
NegativeNumber = GetStageVariable("NegativeNumber")
PositiveCollection = GetStageVariable("PositiveCollection")
SelectedNumbers = ""

' Sort PositiveCollection in ascending order
' Assuming PositiveCollection is already sorted

' Loop through PositiveCollection
For Each num in PositiveCollection
    ' Calculate sum
    sum = NegativeNumber + num
    
    ' Check if sum >= 0
    If sum >= 0 Then
        ' Add num to SelectedNumbers
        SelectedNumbers = SelectedNumbers & num & ","
        
        ' Update NegativeNumber
        NegativeNumber = NegativeNumber - num
        
        ' Check end condition
        If NegativeNumber >= 0 Then Exit For
    End If
Next

' Remove trailing comma if exists
If Len(SelectedNumbers) > 0 Then
    SelectedNumbers = Left(SelectedNumbers, Len(SelectedNumbers) - 1)
End If

' Output SelectedNumbers
SetStageVariable("SelectedNumbers", SelectedNumbers)

内容的提问来源于stack exchange,提问作者PJNI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 00:42:15