Elm*_*mex 6 .net c# lotus-notes
如何从带有C#的NSF文件和interop.domino.dll的使用中获取Lotus Notes收件箱中的所有Lotus Notes文档(例如邮件及其内容)?
我想使用以下代码段:
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);
...
}
Run Code Online (Sandbox Code Playgroud)
如何访问每个文档的项目?例如,我想要主题,谁,日期,时间......
如何通过文档的所有项目进行迭代?
我如何提取附件?
NotesSQL ODBC驱动程序是否是COM API的良好替代品?
这应该工作.Lotusscript中的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);
}
Run Code Online (Sandbox Code Playgroud)