Dim uiWs As New NotesUIWorkspace
Dim frage As Variant, start As Variant
Dim posCounter As Integer, negCounter As Integer, errCounter As Integer, counter As Integer
Dim fragenAuswahl(2) As String, dbListe() as string
start = Messagebox("Diese Aktion kan mehrere Minuten dauern. Während dieser Zeit können Sie nicht Ihren Client nutzen. Möchten Sie wirklich fortfahren ?", 4 + 32, "Hinweis")
If start = 7 Then Exit Sub
'Zuweisung der Variablen
Set session = New NotesSession
Set curDb = session.CurrentDatabase
Set dbDir = New NotesDbDirectory(curDb.Server)
'Jetzt wollen wir doch mal schauen, was wir scannen sollen.
fragenAuswahl(0) = "Datenbanken"
fragenAuswahl(1) = "Templates"
fragenAuswahl(2) = "beides"
frage = uiWs.Prompt(PROMPT_OKCANCELLIST, "Bitte wählen", "Bitte wählen Sie aus der Liste, ob Sie Datenbanken oder Templates durchsuchen möchten.", " ", fragenAuswahl())
If frage = "Datenbanken" Then
Set checkDb = dbDir.GetFirstDatabase(DATABASE)
Elseif frage = "Templates" Then
Set checkDb = dbDir.GetFirstDatabase(TEMPLATE)
Elseif frage = "beides" Then
Set checkDb = dbDir.GetFirstDatabase(TEMPLATE_CANDIDATE)
End If
While Not checkDb Is Nothing
If Not checkDb.IsOpen = True Then
Call checkDb.Open(curDb.Server, checkDb.FilePath)
End If
if counter = 0 then
redim dbListe(counter) as string
dbListe(counter) = checkDb.Titel + "~" + checkDb.Filepath
else
redim preserve dbListe(counter) as string
dbListe(counter) = checkDb.Titel + "~" + checkDb.Filepath
end if
Set checkDb = dbDir.GetNextDatabase 'Nächste Datenbank im Directory
counter = counter + 1
Wend
So kannst Du Dir den Array aufbauen, welche Du später in einer Liste anzeigen lässt um Dir eine davon auszuwählen. Den Wert, welche Du hier zurückbekommst kannst Du dann verwenden um Dir die Datenbank mittels NotesDatabase.Open(Servername$, DB Filepath$) zu holen und alle Properties auszulesen.
Meff