2009-08-31 20 views
0

Lotus Notesからメールにアクセスしています。.NETを使用してLotus Notesの「メール」からビューのリストを取得する方法は?

と私はコードの下に使用しています「受信トレイ」にアクセスするために:「下書き」のために同様に

_notesDatabase = _lotusNotesServerSession.GetDatabase(LotusNotesServer, "mail\\" + nsfName, false); 
NotesView inbox = _notesDatabase.GetView("($Inbox)"); 

を。

しかし、ここで私はGetViewメソッドで各ビューの名前を指定しています。 良いコーディングではありません。

私はこれらのビューを「受信トレイ」、「ドラフト」という用語をC#を使用してプログラマティックにリストします。

誰でも私に解決策を教えていただけますか?

答えて

1

ソリューションです:

Object[] docColl = _notesDatabase.Views as Object[]; 

foreach (Object objView in docColl) { 
    NotesView view = objView as NotesView; 
    MessageBox.Show(view.Name);  
} 
1

データベース内のすべてのビューにアクセスできるようにするViewsというNotesDatabaseクラスのプロパティがあります。ループして各ビューにアクセスできます。

また、このopen source class called DatabasePropertiesは、設計ドキュメント、特にデータベース内のビューなどのビューのプロパティのリストを取得するのに役立ちます。 VB.net、すべてのビュー(とフォルダ)を取得するための基本的なコードで

+0

_notesDatabase = _lotusNotesServerSession.GetDatabase(LotusNotesServer、 "mail \" + nsfName、false); これ以降は使用しています _notesDatabase.views(); 私はC#を初めて使用しています。その値を表示できるようにしています。 これで私を助けることができますか? – Preeti

+0

私は解決策を得た。 – Preeti

0

とそれぞれに、すべての文書が含まれて得るためには、このようなものになります。

Dim s As New notesSession 
Dim db As notesDatabase 
Set db = s.CurrentDatabase 
Dim vws As Variant 
vws = db.Views 
Forall v In vws 
    'New View being processed 
    Dim doc As notesDocument 
    Set doc = v.getFirstDocument() 
    While Not (doc Is Nothing) 
     ' do something for each document 
     ' .... 
     Set doc = v.getNextDocument(doc) 
    Wend 
End Forall 
関連する問題