Domino中使用LotusScript代理获取多值域的值

使用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)

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4