检查一个空字符串

时间:2015-04-17 14:30:22

标签: lotusscript

我正在尝试检查一个变量在lotusscript代理中是否为空,因为它是逻辑条件的一部分但是当我尝试运行错误状态时

  

未设置对象变量

关于下面的代码行:

If CStr(contractId(0)) <> "" Then

我试过了

If IsNull(CStr(contractId(0))) Then

但这也不起作用。为什么要赢得这项工作呢?

2 个答案:

答案 0 :(得分:2)

检查&#34;空虚&#34;变种的使用:

If Not IsEmpty( contractID ) then
  '- do your stuff
End If

如果使用GetItemValue()填充contractID,则必须编写自己的isempty版本,如果所有元素都是空字符串,则认为变量为空。如果变量真的为空,则以下函数检查,甚至可以将字符串用作输入。

Function IsVariantEmpty (varValues As Variant) As Boolean
    IsVariantEmpty = True

    If Isempty (varValues) Then
        Exit Function
    End If

    If Isscalar (varValues) Then
        If Trim$ (Cstr (varValues)) <> "" Then
            IsVariantEmpty = False
        End If
        Exit Function
    End If

    Forall  value In varValues
        If Trim$ (Cstr (value)) <> "" Then
            IsVariantEmpty = False
            Exit Function
        End If
    End Forall
End Function

答案 1 :(得分:0)

看起来您正在尝试使用简写表示法来访问名为ContractID的项目,但在某些情况下,该项目并不存在于文档中。 (我猜我们不会在这里看到实际的文档参考,因为你使用的是with语句。)

在尝试访问ContractID(0)之前,让代码调用NotesDocument.hasItem(&#34; ContractID&#34;)。即,

If doc.hasItem("ContractID") then
  If CStr(contractId(0)) <> "" Then