If you are unfortunate enough to use Lotus Notes as your mail client, this page is for you.
Fixing rules
Rules don’t fire? Mysterious rules still running?
Go to Create -> Agent, call it “Reorder rules”, leave the runtime type as “Action menu section” and select the target as “None”. Close the little window. Then select LotusScript as the Run type in the main window and go to the Initialize section. The code should be:
Sub Initialize
Dim s As New notessession
Dim db As notesdatabase
Dim rulesfolder As notesview
Dim rules As notesviewentrycollection
Dim rule As notesviewentry
Dim ruledoc As notesdocument
Set db=s.currentdatabase
Set rulesfolder=db.getview("Rules")
Set rules=rulesfolder.allentries
Set profile=db.GetProfileDocument("CalendarProfile")
If profile.getitemvalue("Use_CalendarRule")(0) = "1" Then
number=1
Else
number=0
End If
Set rule=rules.getfirstentry
While Not rule Is Nothing
Set ruledoc=rule.document
ruledoc.ordernum=Cstr(number)
Call ruledoc.save(True, True)
Set rule=rules.getnextentry(rule)
number=number+1
Wend
End Sub
Then File -> Save and close the window.
Follow this process:
- Disable all your rules.
- Go to Actions -> Reorder Rules
- Enable all your rules.
There you go.
Here is another one to print out your rules…
Sub Initialize
Dim s As New notessession
Dim db As notesdatabase
Dim rulesfolder As notesview
Dim rules As notesviewentrycollection
Dim rule As notesviewentry
Dim ruledoc As notesdocument
Set db=s.currentdatabase
Set rulesfolder=db.getview("Rules")
Set rules=rulesfolder.allentries
Set profile=db.GetProfileDocument("CalendarProfile")
Set rule=rules.getfirstentry
While Not rule Is Nothing
a$ = ""
Set ruledoc=rule.document
Forall item In ruledoc.Items
a$ = a$ + item.Name + " = " + item.Text + " "
End Forall
Messagebox a$
Set rule=rules.getnextentry(rule)
Wend
End Sub








