使用LotusScript获取多值域的值
原理:文档中的域值是数组形式的 。多值域的值类似于一行多列的数组,下标从0开始。 假定域名为Employee,类型为多值文本域,文档中此域的值为:james,robin,alfred。 计划使用LS的得到返回值为:jamesrobinalfred。
方法1、直接获取
strEmployee = doc.Employee(0) +doc.Employee(1) +doc.Employee(2) 方法2、使用Evaluate声明
Dim strEmployee AsVariant
Const NotesMacro$ = \ strEmployee = Evaluate(NotesMacro$,doc)
MsgBoxCStr(strEmployee(0))
方法3、使用GetItemValue方法
Dim tname AsVariant
tname = backdoc.GetItemValue(\) MsgBox tname ForAll o In tname
MsgBoxCStr(o)
EndForAll
方法4、转化为数组处理
Dim i,j AsInteger i = 0
arrEmployee = doc.GetItemValue(\) For j=LBound(arrEmployee) ToUBound(arrEmployee) MsgBoxCStr(arrEmployee(i))
i=i+1
Next
------------------例子--------------
Dim WebStartDb As NotesDatabase '系统启动数据库 Dim LinkDoc As NotesDocument '系统启动库中的链结文档
Set WebStartDb=s.Getdatabase(\, \)
Set LinkDoc = WebStartDb.GetDocumentByUNID(backdoc.DocID(0)) 据链结文档ID从系统启动库中取链结文档 IfNot LinkDoc IsNothingThen
Dim arrEmployee AsVariant
'根
Dim strTComm3Name AsString Dim z,j AsInteger z = 0
strTComm3Name=\
arrEmployee = backdoc.GetItemValue(\) For j=LBound(arrEmployee) ToUBound(arrEmployee)
'MsgBox \:\
strTComm3Name= strTComm3Name + CStr(arrEmployee(z))+\ z=z+1
Next
'MsgBox \:\ EndIf
LinkDoc.IsTCommm=strTComm3Name Call LinkDoc.Save(True,True)