Hallo,
ich habe einen Agenten geschrieben (Aufruf über die Menüleiste), der alle Maildatenbanken, auf einem bestimmten Server in einem bestimmten Verzeichnis liegen, durchforstet. Die Informationen, die er sich dort holt schreibe ich in meine DB wo der Agent läuft. Ich hole mir beispielsweise den Namen (xyz.nsf) und die Größe, dass klappt auch wunderbar, aber wenn ich aus den Mail-DB'en auslesen möchte, ob der OutOfOffice Agent aktiviert ist oder nicht, dann funktioniert das nicht.
Denn ich habe den Agenten nicht im Zugriff! Woran könnte das liegen?
Die Pfade vom Server, den Namen des Agenten und andere Angaben habe ich in meinem Profildokument gemacht. Zugriff habe ich auch auf alle Datenbanken, daran kann es nicht liegen.
Hier mein Agent:
Sub Initialize
'Dieser Agent liest alle Namen der (Mail-) Datenbanken aus dem
'im Profildokument angegebenen Server und Verzeichnis heraus
'On Error Resume Next
Dim session As New NotesSession
Dim server As Variant
Dim verzeichnis As Variant
Dim agent As NotesAgent
Dim agentname As Variant
Dim stragentname As String
'Derzeitige Datenbank
Dim dbCurrent As NotesDatabase
Set dbCurrent = session.CurrentDatabase
'Profildokument
Dim pdoc As NotesDocument
Set pdoc = dbCurrent.GetProfileDocument("profil")
server = pdoc.GetItemValue( "Setup_Server_OoO" )
verzeichnis = pdoc.GetItemValue( "Setup_Verzeichnis_OoO" )
agentname = pdoc.GetItemValue( "Setup_AgentName" )
'Zuvor die alten Maildokumente löschen
Call Loeschen()
'Maildatenbanken
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim size As Double
Dim dbdir As New NotesDbDirectory(server(0))
Set db = dbdir.GetFirstDatabase(DATABASE)
While Not (db Is Nothing)
If Instr(db.FilePath, verzeichnis(0)) Then
If Not ( db.IsOpen ) Then
Call db.Open( "", "" )
End If
Set doc = dbCurrent.CreateDocument
stragentname = agentname(0)
Set agent = db.GetAgent(stragentname) '!!!!!! hier hat er den Agenten nicht!!! Da liegt sicherlich das Problem :-(
If agent.IsActivatable Then
doc.Merkmal = "OoO aktiv"
Else
doc.Merkmal = "OoO inaktiv"
End If
doc.Form = "Import"
doc.Maildatenbank = db.FileName
doc.Groesse = db.Size
Call doc.Save( True, True )
End If
Set db = dbdir.GetNextDatabase
Wend
End Sub
Dankeschön
Gruß Sabine