如何使用 .NET 访问用户在 Lotus Notes 中创建的文件夹的内容?

发布于 2024-08-04 01:37:42 字数 416 浏览 5 评论 0原文

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

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

我可以这样做:

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

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

但这里我需要指定文件夹名称。该名称无法提前知道。 所以我不能对其进行硬编码。

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

I am getting contents of all views (Folders).Like Inbox,Calendar,ToDo e.t.c.

As mentioned in Title i want to access contents of Folders created my user.
For Example "Folder1" and sub-folder "ABC"

I can do it as:

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

For sub-folder : NotesView folder = _notesDatabase.GetView("(Folder1/ABC)");

But here i need to specify folder name.Which can't be known in advance.
So i can't hard code it.

Is there any way to get only list of User created Folders and Sub-folders?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笔芯 2024-08-11 01:37:42

要迭代邮箱中的所有文件夹,请使用 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 访问权限。

To iterate over all folders in a mailbox, use NotesDatabase.Views and the isFolder property. Then you can either explicitly exclude ($Inbox), ($Junkmail) et.c. or use the heuristic that folders where the name begins with "(" are system folders:

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 suggestion to use isPrivate is nicer and will work unless users are allowed to create shared folders. I'm not sure if this is the default Notes access or not.

吹泡泡o 2024-08-11 01:37:42

您可以使用 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

You can get a collection of views using the NotesDatabase Views property

_notesDatabase.Views

If you loop through that collection, you can inspect each view's IsPrivate property to see if it is a private view created by the user. In Lotusscript it would look like this

Dim allViews as Variant
Set allViews = _notesDatabase.Views
ForAll myview In allViews
    If myview.IsPrivate Then
        'Do something
    End If
End ForAll
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文