2017-02-09 98 views
0

我試圖通過OLE從Lotus Notes中選擇郵件。到目前爲止,我在做這樣的:Lotus Notes通過OLE獲取剛剛選擇的郵件

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次爲每個文件。

我的問題,爲什麼所有的文件正在處理,即使我沒有選擇任何文件,特別是,爲什麼行爲與當我在郵箱內時不同。有沒有辦法找出我選擇的那些?

Regards

回答

0

答案是,在全文搜索之後,你並不真正處於視圖中。您處於全文搜索結果列表中,它看起來像一個視圖,但它確實是視圖頂部的疊加層。如果您可以看到實際的視圖,則會選擇結果列表中的文檔!

NotesUIWorkspace class沒有辦法獲取您所看到的當前全文搜索結果列表(也沒有用於表示它的NotesUIFTSearchResults類),所以我不相信有任何方法可以訪問這些文檔您已在結果列表中手動選擇。

您可以做的是獲取結果列表中所有文檔的數據,構建對話框並向用戶顯示,讓用戶在對話框中而不是結果中選擇文檔列出它自己,然後讓你的代碼在用戶選擇的代碼上執行 - 但是沒有看到你的代碼,並且知道它在你的ProcessDokument()例程中試圖做什麼,我不知道這是否合理。