Author:水如烟
一般来说,地址本有两个以上,一是本机的地址本,二是服务器的地址本。如果层级公司多,服务器的地址本就有多个。
NotesSession.AddressBooks可以取到所有地址本。
Session在正常登录后,如本机没有联接服务器,AddressBooks为空;如联接上服务器,AddressBooks才取到服务器地址本的数据库。
如果对用户名(包括群组名)有兴趣,那么,可以将所有地址本的用户(包括群组)最基本的信息导出来,存放到本地一个xml文件中去。
在一个ds数据集中建立一个Names表,包括以下列:
列名 | 类型 | 作用 |
Server | String | 所在服务器名称 |
DbName | String | 所在数据库名称 |
NoteID | String | 在数据库中的NoteID值 |
Name | String | 用户或群组名称 |
IsPerson | Boolean | Ture是用户,False是群组 |
NoteID的作用是:在需要更新用户信息时,通过NoteID可以迅速定位到相应的NotesDocument。如:
导出数据代码:
说明:因地址本数据库结构不同,代码中的取值方法可能不一样。这需要自己分析。
在我的实际中,所有地址本都有个$VIMPeopleAndGroups视图,从中可以得到我关心的内容。