0

我正在获取所有视图(文件夹)的内容。如收件箱、日历、待办事项等

如标题中所述,我想访问创建我的用户的文件夹的内容。例如“Folder1”和子文件夹“ABC”

我可以这样做:

 NotesView folder = _notesDatabase.GetView("(Folder1)");
 NotesDocument docFolder = folder.GetFirstDocument();

对于子文件夹: NotesView folder = _notesDatabase.GetView("(Folder1/ABC)");

但是这里我需要指定文件夹名称。不能提前知道。所以我不能硬编码。

有没有办法只获取用户创建的文件夹和子文件夹的列表?

4

2 回答 2

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
于 2009-09-11T13:46:45.177 回答
1

要遍历邮箱中的所有文件夹,请使用NotesDatabase.ViewsisFolder属性。然后,您可以明确排除 ($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 访问权限。

于 2009-09-11T13:58:03.293 回答