【问题标题】:Lotus Notes get just selected mails via OLELotus Notes 通过 OLE 获取选定的邮件
【发布时间】:2017-02-09 14:14:16
【问题描述】:

我正在尝试通过 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 封邮件) 现在我想搜索某处有“sem”的特定邮件,然后切换到搜索选项卡:

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

我的问题,为什么即使我没有选择其中任何一个文件也正在处理所有文件,特别是为什么行为与我在邮箱内时不同。有没有办法只识别我选择的那些?

问候

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      相关资源
      最近更新 更多