A user often copies mail to various folders using citeria such as sender or subject then needs to know which folders contain copies of a specific email. This agent searches all folders using the unique ID of the selected document. The mail must have been copied by dragging and dropping (cutting and pasting creates a new UNID). It runs from the Actions menu on Selected Documents.
Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim Counter As Integer Dim dc As NotesDocumentCollection Dim doc As NotesDocument Dim tempDoc As NotesDocument Dim ID As String Dim MsgText As String
Set db = session.CurrentDatabase
'From an agent, the UnprocessedDocuments property of NotesDatabase will contain all selected documents Set dc = db.UnprocessedDocuments
'Get the UNID of the selected document Set doc = dc.GetFirstDocument ID = doc.UniversalID
'Set initial variables for the search Counter = 1 MsgText="Found in these folders: "
'Go through all folders and find documents that have the same UNID Forall v In db.Views If v.IsFolder Then Set tempDoc = v.GetFirstDocument Do While Not (tempDoc Is Nothing) If tempDoc.UniversalID = ID Then MsgText=MsgText + Chr(13) + Str(Counter) +") " + v.Name Counter = Counter + 1 Exit Do End If Set tempDoc = v.GetNextDocument(tempDoc) Loop End If
'Display names of folders If Counter = 1 Then Messagebox "Document not found in any folder. " Else Messagebox MsgText End If