Examples: BuildCollection method
This agent creates note collections based on form and view elements in the current database. The work occurs in a sub, which creates the note collection depending on the input parameters, builds the collection, then clears the collection.
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim stream As NotesStream
Set stream = s.CreateStream
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False)
REM Export forms
Call ExportFormView(True, False, s, db, stream, nc)
REM Export views
Call ExportFormView(False, True, s, db, stream, nc)
REM Export forms and views
Call ExportFormView(True, True, s, db, stream, nc)
REM Test bad call
Call ExportFormView(False, False, s, db, stream, nc)
End Sub
Sub ExportFormView(form As Boolean, view As Boolean, _
session As NotesSession, db As NotesDatabase, _
stream As NotesStream, nc As NotesNoteCollection)
REM Check parameters and set up filename
If form And view Then
filename$ = "formview"
Elseif form Then
filename$ = "form"
Elseif view Then
filename$ = "view"
Else
Messagebox "Form and view both false",, "No action"
Exit Sub
End If
REM Open dxl file as stream
filename$ = "c:\dxl\" & filename$ & ".dxl"
If Not stream.Open(filename$) Then
Messagebox "Cannot open " & filename$,, "Error"
Exit Sub
End If
Call stream.Truncate
REM Create note collection
Call nc.SelectAllNotes(False)
If form Then
nc.SelectForms = True
nc.SelectSubforms = True
nc.SelectSharedFields = True
End If
If view Then
nc.SelectViews = True
nc.SelectFolders = True
End If
Call nc.BuildCollection
REM Export DXL
Dim exporter As NotesDXLExporter
Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process
REM Close stream and clear collection
Call stream.Close
Call nc.ClearCollection
End Sub