Lotus Notes只通过OLE获取选定的邮件

时间:2017-02-09 14:14:16

标签: email lotus-notes lotus-domino ole lotus

我正在尝试通过OLE从Lotus Notes中选择邮件。到目前为止,我这样做:

 UIView := FLNotes.CURRENTVIEW;
 UIDocuments := UIView.DOCUMENTS;

   for counter := 1 to UIDocuments.Count do begin
     if counter = 1 Then
       aDocument := UIDocuments.GETFIRSTDOCUMENT
     else
       aDocument := UIDocuments.GETNEXTDOCUMENT(aDocument);

     ProcessDokument (aDocument)

当我进入这个邮件视图时,它按预期工作,我只收到邮件旁边的复选标记(所以我收到2封邮件)   enter image description here 现在我想搜索一个特定的邮件,其中包含" sem"在某个地方,我切换到搜索标签:

enter image description here

现在我遇到的问题是我的代码返回了所有可见的文档,而不仅仅是我选择的文档。在这里我没有选择任何一个,但我的for循环仍然为每个文件运行7次。

我的问题是,为什么所有文档都被处理,即使我没有选择其中任何一个,特别是,为什么行为不同于我在邮箱内的行为。有没有办法确定我选择的那些?

此致

1 个答案:

答案 0 :(得分:0)

答案是在全文搜索之后,你并不是真正的观点。您在全文搜索结果列表中看起来像一个视图,但它实际上是视图顶部的叠加层。如果您可以看到实际视图,则会选择结果列表中的文档!

NotesUIWorkspace class中没有方法可以获取您正在查看的当前全文搜索结果列表(也没有用于表示它的NotesUIFTSearchResults类)所以我不相信有任何方法可以访问您在结果列表中手动选择的文档。

您可以做的是获取结果列表中所有文档的数据,构建一个对话框并向用户显示该对话框,让用户在对话框中而不是在结果列表中选择文档本身,然后让你的代码作用于用户选择的代码 - 但是没有看到你的代码并知道它在ProcessDokument()例程中尝试做什么,我不知道这是否合理。