1.查找出查找内容在多值域中的索引值
getItemIndex(域名,域值,文档)
Public Function getItemIndex(ByVal fieldName As String, ByVal itemVal As Object,
ByVal doctt As NotesDocument) As Integer Dim i As Integer Dim j As Integer Dim item As NotesItem item = doctt.GetFirstItem(fieldName) j = Ubound(item.Values) For i = 0 To j If itemVal = item.Values(i) Then getItemIndex = i Exit Function End If Next getItemIndex = -1 End Function
2.删除多值域中的数据
delItemValues(多值域名,更改的索引值,所在文档对象)
Public Sub delItemValues(ByVal fieldName As String, ByVal index As Integer, ByVal doctt As NotesDocument) Dim i As Integer Dim temp() As Object Dim item As NotesItem item = doctt.GetFirstItem(fieldName) Dim j As Integer j = Ubound(item.values) '----------- If j = 0 Then '当J为0时,即仅有一个值,给予空值即可 Call doctt.ReplaceItemValue(fieldName, "") Exit Sub End If '------------ If Trim(item.Values(0)) = "" Then index = j End If If index > j Then '仍然做为最后一个数据加入 j = j + 1 '索引位仅增加1 index = j '重定义索引位,防止超出范围 End If Redim temp(j-1) As Variant '重定义数组 For i = 0 To index - 1 temp(i) = item.values(i) Next For i = index To j - 1 temp(i) = item.values(i + 1) Next Call doctt.ReplaceItemValue(fieldName, temp) 'End If 'End If End Sub
3.更改多值域中的数据
editItemValues(多值域名,更改的索引值,更改的内容,所在文档对象)
Public Sub editItemValues(ByVal fieldName As String, ByVal index As Integer, ByVal itemVal As Object,
ByVal doctt As NotesDocument) Dim i As Integer Dim temp() As Object Dim item As NotesItem item = doctt.GetFirstItem(fieldName) Dim j As Integer j = Ubound(item.values) If Trim(item.Values(0)) = "" Then index = j End If If index > j Then '仍然做为最后一个数据加入 j = j + 1 '索引位仅增加1 index = j '重定义索引位,防止超出范围 End If Redim temp(j) As Variant '重定义数组 For i = 0 To j If i = index Then temp(i) = itemVal Else temp(i) = item.values(i) End If Next Call doctt.ReplaceItemValue(fieldName, temp) 'End If 'End If End Sub
本文介绍在Lotus Notes环境下如何实现对文档中多值域进行索引查找、数据删除及内容更新的方法。提供了VBScript代码示例,包括获取指定值的索引、删除特定索引处的数据及修改指定位置的值。
2万+

被折叠的 条评论
为什么被折叠?



