Hier mein Code:
Dim session As New NotesSession
Dim Currentdb As NotesDatabase
Dim db As NotesDatabase
Dim view As NotesView
Dim entry As NotesViewEntry
Dim vc As NotesViewEntryCollection
Dim doc As NotesDocument
Dim item As NotesItem
Dim item1 As NotesItem
'aktuelle Servername ermitteln
' CurrentServer = session.CurrentDatabase.Server 'auskommentiert "" wird zurückgegeben
CurrentServer = session.CurrentDatabase.parent.username 'Nothilfe
'log schreiben
fileNumber% = Freefile
Open "C:\temp\class.log" For Output As #1
Print #1, "Agent Start: " + Now()
Print #1, "CurrentServer: " + CurrentServer
'Variablen setzen
Set Currentdb = session.CurrentDatabase
Set view = Currentdb.getView("vwUMSCheck")
Set vc = view.AllEntries
Set entry = vc.GetFirstEntry()
'Für alle Entries der Ansicht
While Not (entry Is Nothing)
Set doc = entry.Document
If doc.Mailserver(0) = CurrentServer Then
Set db = New NotesDatabase("",doc.mailFile(0)+".nsf")
If Not db.IsOpen Then
On Error Goto fehler
Call db.open("",doc.mailFile(0)+".nsf")
End If
Set notesNoteCollection = db.CreateNoteCollection(False)
Call notesNoteCollection.SelectAllDesignElements( True )
Call notesNoteCollection.BuildCollection
'log
Print #1, "Scaning: " + doc.MailFile(0)
Print #1, Cstr(notesNoteCollection.Count) + " elements "
'Für alle DesignElements
nid = notesNoteCollection.GetFirstNoteID( )
For i = 1 To notesNoteCollection.Count
Set doc = db.GetDocumentByID(nid)
Set item = doc.getfirstitem("$Class")
If Not (item Is Nothing) Then
'log
Set item1 = doc.getfirstitem("$TITLE")
strItem = item1.Text
Print #1, "$Class found in: " + stritem
'HIER kommt später das Löschen der Inhalt von $Class
End If
nid = notesNoteCollection.GetNextNoteId(nid)
Next i
End If
weiter:
Set entry = vc.GetNextEntry(entry)
Wend
Close #1
Exit Sub
fehler:
Print #1, "FEHLER: " + doc.MailFile(0) + " könnte nicht geöffnet werden!"
Goto weiter
End Sub
Wie schon geschrieben der Agent wird
auf dem Server gestartet aus der Menü Aktionen in der Datenbank
names.nsf.
Ihr könnt sehen dass ich momentan folgende Nothilfe benütze:
CurrentServer = session.CurrentDatabase.parent.username
"zufällig" ist mein CurrentUser der Server selbst aber ich hätte es lieber Wasserdicht
@MadMetzger: ich will kein Eintrag in der Form: CurrentServer = "CN=Server4/O=MyDomain/C=COM"
@dirk_2909: ich bin local so dass dein code gibt ein "" zurück
@alle: danke für die mithilfe