我正在尝试检查一个变量在lotusscript代理中是否为空,因为它是逻辑条件的一部分但是当我尝试运行错误状态时
未设置对象变量
关于下面的代码行:
If CStr(contractId(0)) <> "" Then
我试过了
If IsNull(CStr(contractId(0))) Then
但这也不起作用。为什么要赢得这项工作呢?
答案 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