2010-11-24 49 views
5

我怎樣才能得到所有Lotus Notes從一NSF文件的Lotus Notes收件箱中與C#和互操作的使用文檔(例如郵件,其內容) .domino.dll讀的Lotus Notes從NSF文件的文件和項目與C#

我想用下面的代碼片段:

Domino.NotesSession m_session = null; 

... 

this.m_session = new Domino.NotesSession(); 
this.m_session.Initialize(""); 

Domino.NotesDatabase db = null; 
this.m_session.GetDatabase("", "C:\test.nsf", false); 

Domino.NotesDocumentCollection col = db.AllDocuments; 

for (int i = 0; i < col.Count; ++i) 
{ 
     Domino.NotesDocument doc = col.GetNthDocument(i); 

     ... 
} 

如何訪問每個文檔的項目?例如,我想要主題,誰,日期,時間,...

如何迭代通過文檔的所有項目?

如何提取附件?

NotesSQL ODBC驅動程序是COM API的一個很好的選擇嗎?

+0

到目前爲止,你有什麼試過? – 2010-11-24 14:15:23

回答

5

這應該工作。 Lotuss的GetItemValue方法返回一個值數組,但通常你只需要在第一個索引處的值。我不確定它是否和COM一樣工作,但調試器可以幫助你弄清楚。

另外,如果您正在處理大量文檔,則使用GetFirstDocument/GetNextDocument方法進行迭代要比使用GetNthDocument方法快得多。

Domino.NotesDocument doc = col.GetFirstDocument(doc); 
while (doc != null) { 

    string subject = doc.GetItemValue("subject")[0]; 
    string who = doc.GetItemValue("sendto")[0]; 

    Domino.NotesDocument doc = col.GetNextDocument(doc); 
} 
+0

爲什麼沒有閱讀備忘錄草稿? – Elmex 2010-11-24 16:26:47

相關問題