当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年9月24日水曜日

文書の返答文書を取得する その3

文書の返答文書を取得する方法で、NotesDocumentクラスのResponsesプロパティを使うやり方である。
ResponsesプロパティはNotesDocumentCollectionを返すので、簡単に使える。
また、コレクションになっているので、データの再利用が簡単に行える。
ただ、返答文書が取得したいというだけなら、こちらの利用をお勧めする。

-----------------------------------------------------------------
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument
Dim cdocs As NotesDocumentCollection
Dim cdoc As NotesDocument

Set db = session.CurrentDatabase
Set docs = db.UnprocessedDocuments
Set doc = docs.GetFirstDocument

'選択文書が複数の場合は、エラーとする
If docs.Count <> 1 Then
Messagebox "選択文書は1つにしてください。", 0 + 16, "返答文書の取得"
Exit Sub
End If

'選択文書の全返答文書を取得する
Set cdocs = doc.Responses
If cdocs.Count = 0 Then
Messagebox "返答文書はありません。", 0, "返答文書の取得"
End If
Set cdoc = cdocs.GetFirstDocument
Do While Not ( cdoc Is Nothing )
Messagebox "返答文書のタイトルは、【" + cdoc.Subject( 0 ) + "】です。", 0, "返答文書の取得"
Set cdoc = cdocs.GetNextDocument( cdoc )
Loop
End Sub

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2 件のコメント:

めそ凹すね丸 さんのコメント...

早速の反映ありがとうございます。

もうひと工夫な話なんですけど、
返答文書の個数を確認するだけなら

doc.Responses.Count

でいけますよ。

うーん。
返答文書のほうを選択した場合の処理をはさむともっと面白かもなぁ、と。

その他色々、
こちらのブログネタにさせていただいて
トラバックさせていただきたく思います^^;

あわせて当方のブログにこちらをリンクさせていただきたいのですがよろしいでしょうか。

およよ さんのコメント...

>doc.Responses.Count

個人的にこの書き方が好きじゃなかったりします(^^;
でも、便利なときもあるので、そのうち、ここにフォーカスしたサンプルを出しましょう。

リンクはしていただいてかまわないですよ。