Hier ein kleiner fleissiger Agent, der den Job macht
Dim s As New NotesSession
Dim db As NotesDatabase
Dim uniqid As String
Dim count As Integer
Dim emaildbs As String
Set db = s.CurrentDatabase
dbdir = Inputbox("What directory do you want to run this against?" , "Directory", "mail")
dbfile = Inputbox$("What file do you want to run this against? (blank for whole dir)" , "File", "")
If dbdir = "" Then
Exit Sub
End If
If dbfile <> "" Then
emaildbs = dbfile
Else
emaildbs = Dir$("f:\notes\data\" & dbdir & "\*.nsf")
End If
While emaildbs <> ""
dbname = dbdir & "\" & emaildbs
count = 0
Dim om As New NotesDatabase("","")
If Not(om.Open(db.Server, dbname)) Then
Msgbox "Could not open a mail database....Exiting!"
Exit Sub
End If
Forall Views In om.Views
If Views.IsFolder Then
count = count + 1
uniqid = Views.UniversalID
Set doc = om.GetDocumentByUNID(uniqid) 'This line treats the folder like a NotesDocument to access the field called $Flags
Set flags = doc.GetFirstItem("$Flags")
If Not (flags.Text Like "*P*") Then
flags.Values = flags.Text & "P"
Call doc.Save(True, False)
entrytext = Views.Name & " in " & emaildbs & " has been protected!"
Print entrytext
Else
entrytext = Views.Name & " in " & emaildbs & " is already protected!"
Print entrytext
End If
End If
End Forall
'entrytext = "In " & emaildbs & " database, " & count & " folders have been processed!"
'Msgbox entrytext
If (dbfile <> "") Then
emaildbs = ""
Else
emaildbs = Dir$()
End If
Wend
End Sub