您的位置:首页 > 其它

清理收件夹的代理Code for CleanupInbox agent

2011-10-19 14:06 267 查看
CleanupInbox – moves older documents out of inbox

Sub Initialize

Dim s As New NotesSession

Dim db As NotesDatabase

Set db = s.CurrentDatabase

Dim dr1 As notesdaterange

Dim v As notesview

Dim dc1 As NotesDocumentCollection

Dim gracedoc As NotesDocument

Dim stime1 As New NotesDateTime("0/0/0")

Dim etime1 As New NotesDateTime("Today")

Set gracedoc = db.GetProfileDocument("inboxgracedays")

Dim graceval As Variant

Dim gracedays As Integer

' if no profile doc has been prepared, default is 90 days

If gracedoc.HasItem("gracedays") Then

graceval = gracedoc.GetItemValue("gracedays")

gracedays = Cint(graceval(0))

Else

gracedays = 90

End If

etime1.AdjustDay(-1*gracedays)

' create a daterange excluding docs newer than graceperiod

Set dr1 = s.CreateDateRange()

Set dr1.StartDateTime = stime1

Set dr1.EndDateTime = etime1

'dc1: collection of 'old' documents from inbox

(before or on Today - gracedays)

Set v = db.GetView("($Inbox)")

Set dc1 = v.GetAllDocumentsByKey(dr1)

'pull out expired docs

dc1.RemoveAllFromFolder("($Inbox)")

End Sub

'SetInboxGracePeriod agent – sets the grace period for inbox

Sub Initialize

Dim s As New NotesSession

Dim db As NotesDatabase

Set db = s.CurrentDatabase

Dim gracedoc As NotesDocument

Dim gracedays As Integer

Dim inputgracedays As Integer

Dim maxdays As Integer

Dim graceval As Variant

Dim gracevar As Variant

maxdays = 1000

Set gracedoc = db.GetProfileDocument("inboxgracedays")

If gracedoc.HasItem("gracedays") Then

graceval = gracedoc.GetItemValue("gracedays")

gracedays = Cint(graceval(0))

Else

gracedays = 90

End If

getInput:

inputgracedays = -1

gracevar = Inputbox("Days to retain in Inbox? (currently " &

gracedays & ")" )

If (gracevar <> "") Then

inputgracedays = Cint(gracevar)

End If

While (inputgracedays > maxdays)

Msgbox("Maximum of " & maxdays

& " days exceeded")

Goto getInput

Wend

If inputgracedays <> -1 Then

gracedays = inputgracedays

End If

Set gracedoc = db.GetProfileDocument("inboxgracedays")

gracedoc.ReplaceItemValue "gracedays",gracedays

Call gracedoc.Save(False,False)

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐