LOTUSSCRIPT /COM/OLE のクラス
例:UnprocessedSearch メソッド
1. 次のビューアクションスクリプトはビューで現在選択されている文書で検索を行います。UnprocessedSearch はビューで現在選択されている文書で、1995 年 5 月 20 日以降に作成され、Subject アイテムに単語「botany」を含む文書を検索します。そして、検索で取得した文書をフォルダに入れます。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dateTime As NotesDateTime
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set dateTime = New NotesDateTime( "05/20/95" )
Set collection = db.UnprocessedSearch _
( "@Contains( Subject; ""botany"" )", dateTime, 0 )
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
Call doc.PutInFolder( "Botanist's Delight" )
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
2. 次のエージェントスクリプトは、1995 年 5 月 20 日以降に新規作成または更新され、Subject アイテムに単語「botany」を含む文書を対象に実行されます。スクリプトは処理対象とする各文書の Status アイテムを変更します。
[エージェントのプロパティ] インフォボックスで指定された検索条件がエージェントに定義されておらず、エージェントの最初の実行日時が 1995 年 10 月 17 日である場合、UnprocessedSearch は 1995 年 5 月 20 日以降に作成され、Subject アイテムに単語「botany」を含むデータベースのすべての文書を返します。スクリプトは返された各文書の Status アイテムに「Processed by agent on 10/17/95」を入力し、処理済みのマークを付けて文書を保存します。エージェントが翌日もう一度実行されるときに、5 つの文書が 17 日以降に作成か変更されている場合、UnprocessedSearch はこの 5 つの文書だけを検索します。検索結果として、1995 年 5 月 20 日以降に作成され、さらに Subject アイテムに単語「botany」を含む文書を返します。他のすべての文書は処理済みのマークが付けられているため検索の対象外となります。スクリプトは返された各文書の Status アイテムに「Processed by agent on 10/18/95」を入力します。エージェントが翌日もう一度実行されるときに、1 つの文書が 18 日以降に作成されている場合、UnprocessedSearch は 1995 年 5 月 20 日以降に作成され Subject アイテムに単語「botany」を含む文書を返します。条件を満たす文書がないときは、文書を 1 つも含まない NotesDocumentCollection を返します。
[エージェントのプロパティ] インフォボックスで指定された検索条件がエージェントに定義されていて、エージェントの最初の実行日時が 1995 年 10 月 17 日である場合、UnprocessedSearch は指定された検索条件を満たし、1995 年 5 月 20 日以降に作成され、さらに Subject アイテムに単語「botany」を含むすべての文書を返します。エージェントが翌日もう一度実行されるときに、5 つの文書が 17 日以降に作成か変更され、そのうちの 2 つの文書だけが [エージェントのプロパティ] インフォボックスで指定された検索条件を満たします。1995 年 5 月 20 日以降に作成され、さらに単語「botany」を含む場合、UnprocessedSearch はその 2 つの文書を返します。エージェントが翌日もう一度実行されるときに 1 つの文書が 18 日以降に作成されている場合、その文書が [エージェントのプロパティ] インフォボックスで指定された検索条件を満たさないか、5 月 20 日以前に作成されたか、または、Subject アイテムに単語「botany」を含まない場合、UnprocessedSearch は文書を含まない NotesDocumentCollection を返します。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dateTime As NotesDateTime
Dim collection As NotesDocumentCollection
Dim todayDateTime As NotesDateTime
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set dateTime = New NotesDateTime( "05/20/95" )
Set collection = db.UnprocessedSearch _
( "@Contains( Subject; ""Botany"" )", dateTime, 0 )
Set doc = collection.GetFirstDocument()
Set todayDateTime = New NotesDateTime( "Today" )
While Not(doc Is Nothing)
doc.Status = "Processed by agent on " & _
todayDateTime.LocalTime
Call doc.Save( True, True )
Call session.UpdateProcessedDoc( doc )
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
3. 次のエージェントスクリプトは 1996 年 1 月 20 日以降に作成され、Subject アイテムに単語「URGENT」を含むすべての未読文書を対象に実行されます。スクリプトの目的は、このような文書をフォルダに入れることです。
[エージェントのプロパティ] インフォボックスで指定された検索条件がエージェントに定義されていない場合、UnprocessedSearch は、1996 年 1 月 20 日以降に作成され、Subject アイテムに単語「URGENT」を含む、データベースのすべての未読文書を返します。エージェントがすでにいくつかの未読文書で実行済みの場合でも、UnprocessedSearch はこのような文書を返します。
[エージェントのプロパティ] インフォボックスで指定された検索条件がエージェントに定義されている場合、UnprocessedSearch は、指定された検索条件を満たし、1996 年 1 月 20 日以降に作成され、単語「URGENT」を含む、データベースのすべての文書を返します。エージェントがすでにいくつかの未読文書で実行済みの場合でも UnprocessedSearch はこのような文書を返します。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dateTime As NotesDateTime
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set dateTime = New NotesDateTime( "01/20/96" )
Set collection = db.UnprocessedSearch _
( "@Contains( Subject; ""URGENT"" )", dateTime, 0 )
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
Call doc.PutInFolder _
( "Stop dreaming!Read these documents!")
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
関連項目
UnprocessedSearch メソッド
用語集
フィードバック
ヘルプ
または
プロダクトユーザビリティ
ヘルプの使い方
すべてのヘルプ項目
用語集