Sub Initialize
'获取服务器的通讯录
Dim ss As New NotesSession
Dim books As Variant
books = ss.AddressBooks
Dim adb As NotesDatabase
Forall b In books
If b.IsPublicAddressBook Then
Set adb = b
Call adb.Open(b.server,b.filepath)
End If
End Forall
'获取通讯录个人视图
Dim view As notesview
Set view = adb.GetView("people")
Dim doc As notesdocument
Set doc = view.GetFirstDocument
'邮件模板
Dim tdb As New NotesDatabase(adb.server,"mail7.ntf")
Dim db As notesdatabase
Dim ACL As NotesACL
Dim ACLEntry As NotesACLEntry
While Not doc Is Nothing
'注意:下面的doc.FirstName(0) 是你想用来作为邮件名的,当然你也可以用别的,用firstname很容易有重名的情况
Set db = tdb.CreateFromTemplate(adb.server,"mail\"+doc.FirstName(0)+".nsf",True)
'设置邮件库名称
db.Title = doc.FirstName(0)
'设置数据库ACL,可以根据实际情况调整
Set ACL = db.ACL
Set ACLEntry = ACL.CreateACLEntry(doc.FullName(0),ACLLEVEL_MANAGER)
ACLEntry.IsPerson = True
Call ACL.Save
'修改通讯录中的邮件路径
Call doc.ReplaceItemValue("MailFile","mail\"+doc.FirstName(0)+".nsf")
Call doc.Save(True,True)
Set doc = view.GetNextDocument(doc)
Wend
End Sub