LOTUSSCRIPT /COM/OLE のクラス
例:UnprocessedDocuments プロパティ
1. 次のエージェントスクリプトを使用すると、[Requisition] ビューで現在選択されている文書を処理して、一度に複数の要求を承認できます。UnprocessedDocuments はビューで現在選択されている文書を返します。スクリプトは各文書を次々と処理します。また、Approver アイテムに現在のユーザー名が含まれている場合、スクリプトは Approved アイテムに「Yes」を入力します。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
Set item = doc.GetFirstItem( "Approver" )
If item.Contains( session.UserName ) Then
doc.Approved = "Yes"
Call doc.Save( False, True )
End If
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
2. 次のエージェントスクリプトはすべての新規作成および更新された文書で実行されます。スクリプトは処理対象とする各文書の Status アイテムを変更します。
エージェントビルダーで指定された検索条件がエージェントに定義されておらず、エージェントの最初の実行日時が 1995 年 10 月 17 日である場合、UnprocessedDocuments はデータベースのすべての文書を返します。スクリプトは「Processed by agent on 10/17/95」を返される各文書の Status アイテムに入力し、文書を保存して処理済みのマークを付けます。エージェントが翌日もう一度実行されるときに、5 つの文書が 17 日以降に作成または変更されている場合、UnprocessedDocuments はこの 5 つの文書だけを返します。また、スクリプトは「Processed by agent on 10/18/95」を返される各文書の Status アイテムに入力します。5 つ文書だけが対象となるのは、これ以外のすべての文書に処理済みのマークが付けられているからです。エージェントが翌日もう一度実行されるときに、1 つの文書が 18 日以降に作成されている場合、UnprocessedDocuments はその文書を返します。
エージェントビルダーで指定された検索条件がエージェントに定義されていて、エージェントの最初の実行日時が 1995 年 10 月 17 日である場合、UnprocessedDocuments は、検索条件を満たすデータベースのすべての文書を返します。たとえば、エージェントは [Subject] フィールドに単語「Pablo」を含むすべての文書を返します。エージェントが翌日もう一度実行されるときに、5 つの文書が 17 日以降に作成か変更され、そのうちの 2 つの文書だけが単語「Pablo」を [Subject] に含むとき、UnprocessedDocuments はこの 2 つの文書を返します。エージェントが翌日もう一度実行されるときに、1 つの文書が 18 日以降に作成されているが [Subject] に単語「Pablo」を含まない場合、UnprocessedDocuments は文書を含まない NotesDocumentCollection を返します。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim dateTime As NotesDateTime
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set dateTime = New NotesDateTime( "Today" )
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
doc.Status = "Processed by agent on "_
& dateTime.LocalTime
Call doc.Save( True, True )
Call session.UpdateProcessedDoc( doc )
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
3. 次のエージェントスクリプトはすべての未読文書を対象に実行されます。また、スクリプトは未読文書をフォルダに入れます。
エージェントが検索条件を含まないとき、UnprocessedDocuments はエージェントが実行されるたびに、データベースのすべての未読文書を返します。エージェントがすでにいくつかの未読文書で実行済みの場合でも、同じように文書を返します。
エージェントが検索条件を含むとき、UnprocessedDocuments は検索条件を満たすデータベースのすべての未読文書を返します。エージェントがすでにいくつかの未読文書で実行済みの場合でも、同じように文書を返します。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
Call doc.PutInFolder _
( "Stop dreaming!Read these documents!",True )
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
関連項目
UnprocessedDocuments プロパティ
用語集
フィードバック
ヘルプ
または
プロダクトユーザビリティ
ヘルプの使い方
すべてのヘルプ項目
用語集