Examples: FindNextName method
1. This code looks up all entries containing "Smith" in the $Users view, and creates a directory navigator of the person's short name and internet address.
Dim s As New notessession
Dim myname As String
myname = "Smith"
Dim myitems() As String
Redim myitems(1 To 2)
myitems(1) = "ShortName"
myitems(2) = "InternetAddress"
Set mydir = s.GetDirectory("myserver")
Set mynav = mydir.LookupNames("$Users", myname, myitems, True)
While mynav.NameLocated
While mynav.MatchLocated
v = mynav.getFirstItemValue
mynav.FindNextMatch ' sets MatchLocated T/F
Wend
' resume name loop
mynav.FindNextName ' sets NameLocated T/F
Wend
Msgbox "complete"
2. This button accesses the "People" view of the Domino directory on a server and returns the values of the "FullName" and "InternetAddress" items for each document that matches a name or names.
Dim session As NotesSession
Dim directory As NotesDirectory
Sub Initialize
Set session = New NotesSession
Set directory = session.GetDirectory("myserver/Acme")
End Sub
Sub Click(Source As Button)
Dim nav As NotesDirectoryNavigator
Dim msg As String
Dim value As Variant
Dim names() As String
Dim nam As String
Dim pCurrentName As String
Dim n As Integer
Dim items( 1 To 2) As String
items(1) = "FullName"
items(2) = "InternetAddress"
nam = Inputbox$("Enter last name")
If nam = "" Then Exit Sub
Do
n = n + 1
Redim Preserve names(1 To n)
names(n) = nam
nam = Inputbox$("Enter another last name")
Loop While nam <> ""
On Error Goto errh ' Bad server name causes exception
Set nav = directory.LookupNames("People", names, items, True)
On Error Goto 0
Call nav.FindFirstname
While nav.CurrentName <> pCurrentName
If nav.NameLocated Then
nav.FindFirstMatch
Do
value = nav.GetFirstItemValue
msg = msg & Cstr(value(0)) & | |
value = nav.GetNextItemValue
msg = msg & Cstr(value(0)) & |
|
Loop While nav.FindNextMatch
End If
pCurrentName = nav.CurrentName
Call nav.FindNextName
Wend
Msgbox msg,, "People"
Exit Sub
errh:
Msgbox Err(),, Error()
Exit Sub
End Sub