我正在使用DIIOP訪問蓮花筆記。我正在嘗試查找電子郵件所在的文件夾。我有Unid的電子郵件找到該文件夾。查找蓮花筆記文檔所在的文件夾
啓用文件夾引用不是我的選擇,因爲我將在一個運行多年的生產系統上工作。
有沒有什麼辦法可以找到使用DIIOP存在郵件的文件夾unid/name?
我正在使用DIIOP訪問蓮花筆記。我正在嘗試查找電子郵件所在的文件夾。我有Unid的電子郵件找到該文件夾。查找蓮花筆記文檔所在的文件夾
啓用文件夾引用不是我的選擇,因爲我將在一個運行多年的生產系統上工作。
有沒有什麼辦法可以找到使用DIIOP存在郵件的文件夾unid/name?
@託斯滕的答案是正確的,但是對於很多文檔,一次只能處理一個文檔,尤其是在IIOP上,實際上效率會非常低。
如果您正在處理大量文檔,我會將它們全部添加到NotesNoteCollection對象中。然後爲每個文件夾創建另一個NotesNoteCollection對象,並使用Intersect方法查找這兩個集合共有的所有文檔,然後移至下一個文件夾等。
沒有文件夾引用,文檔沒有關於其中駐留的文件夾的信息。
唯一的可能性是通過所有文件夾並檢查文檔是否在allentries集合中。
代碼可能看起來在某種程度上是這樣的(我不是在Java中好,所以這是LotusScript-代碼,但Java將用同樣的方法/班):
Dim db as NotesDatabase
Dim doc as NotesDocument
Set db = ... database that you work on
Set doc = .... document that you work on
Dim fc As NotesViewEntryCollection
Dim fe As NotesViewEntry
ForAll f In db.AllViews
If f.IsFolder Then
Set fc = f.AllEntries '- get all entries in folder
Set fe = fc.GetEntry(doc) '- try to get object for doc from folder
If not fe is Nothing then
'- This document is in this folder... remember foldername, do whatever....
End If
End If
End ForAll
您好Torsten,感謝您的回答。遍歷所有文檔對我的應用程序會有嚴重的性能影響。 – ravikiran
嗨理查德,謝謝你的回答。 是否有可能從低級C API中的任何索引表讀取文檔的父級? – ravikiran
不是沒有文件夾引用。請注意:文檔可以放在很多文件夾中,我不是在談論文檔的副本 - 這是其他一些系統允許的。在Notes/Domino環境中,一個文檔的noteid可以被許多文件夾引用。沒有真正的「父母」的概念。 –
是的你是對的,我看到Java和Lotus Script代碼將相同的文檔放在多個文件夾中。 這適用於電子郵件應用程序在多個文件夾中具有相同的電子郵件嗎?我找不到任何菜單/操作將項目複製到文件夾 – ravikiran