我正在获取所有视图的内容(文件夹)。像Inbox,Calendar,ToDo e.t.c。
如标题中所述,我想访问创建了我的用户的文件夹的内容。 例如“Folder1”和子文件夹“ABC”
我可以这样做:
NotesView folder = _notesDatabase.GetView("(Folder1)");
NotesDocument docFolder = folder.GetFirstDocument();
对于子文件夹:NotesView folder = _notesDatabase.GetView("(Folder1/ABC)");
但在这里我需要指定文件夹名称。事先无法知道。 所以我不能硬编码。
有没有办法只获取用户创建的文件夹和子文件夹列表?
答案 0 :(得分:1)
您可以使用NotesDatabase Views属性获取视图集合
_notesDatabase.Views
如果遍历该集合,则可以检查每个视图的IsPrivate属性,以查看它是否是用户创建的私有视图。在Lotusscript中它看起来像这样
Dim allViews as Variant
Set allViews = _notesDatabase.Views
ForAll myview In allViews
If myview.IsPrivate Then
'Do something
End If
End ForAll
答案 1 :(得分:1)
要迭代邮箱中的所有文件夹,请使用NotesDatabase.Views
和isFolder
属性。然后你可以明确地排除($ Inbox),($ Junkmail)等。或使用启发式名称以“(”为系统文件夹:
Dim session As New notessession
Forall fa_view In session.currentdatabase.views
If fa_view.isFolder() Then
If Left$(fa_view.name,1) <> "(" Then Print fa_view.name
End If
End Forall
Ken Pespisas使用isPrivate
的建议更好,除非允许用户创建共享文件夹,否则它将起作用。我不确定这是否是默认的Notes访问权限。