例: UnprocessedFTSearch method

  1. 次のビューアクションスクリプトはビューで現在選択されている文書を全文検索します。UnprocessedFTSearch はビューで現在選択されている文書のうち単語「botany」を含む文書を返します。得られた文書は、フォルダに入れられます。
    Sub Click(Source As Button)
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim collection As NotesDocumentCollection
      Dim doc As NotesDocument
      Set db = session.CurrentDatabase
      Set collection = db.UnprocessedFTSearch( "botany", 0 )
      For i = 1 To collection.Count
        Set doc = collection.GetNthDocument( i )
        Call doc.PutInFolder( "Botanist's Delight" )
      Next
    End Sub
  2. 次のエージェントスクリプトは、新規作成または変更された文書で単語「botany」を含むすべての文書を対象に実行されます。スクリプトは処理対象とする各文書の Status アイテムを変更します。
    • [エージェントのプロパティ] インフォボックスで指定された検索条件がエージェントに定義されていない状態で 1995 年 10 月 17 日に初めて実行された場合、UnprocessedFTSearch は「botany」を含むすべての文書を返します。スクリプトは返された各文書の Status アイテムに「Processed by agent on 10/17/95」を入力し、処理済みのマークを付けて文書を保存します。エージェントが翌日もう一度実行されるときに、5 つの文書が 17 日以降に作成か変更されている場合、UnprocessedFTSearch はこの 5 つの文書だけを検索して、「botany」を含む文書を返します。5 つの文書だけが対象となるのは、他のすべての文書に処理済みのマークが付けられているからです。スクリプトは返された各文書の Status アイテムに「Processed by agent on 10/18/95」を入力します。エージェントが翌日もう一度実行されるときに、1 つの文書が 18 日以降に作成されている場合、UnprocessedFTSearch は文書に「botany」が含まれるときだけその文書を返します。「botany」が含まれない場合は、文書を 1 つも含まない NotesDocumentCollection が返されます。
    • [エージェントのプロパティ] インフォボックスで指定された検索条件がエージェントに定義されていて、エージェントの最初の実行日時が 1995 年 10 月 17 日である場合、UnprocessedFTSearch は、[エージェントのプロパティ] インフォボックスで指定された検索条件を満たし、さらに 単語「botany」を含むすべてのデータベース文書を返します。エージェントが翌日もう一度実行されるときに、5 つの文書が 17 日以降に作成か変更され、そのうちの 2 つの文書だけが [エージェントのプロパティ] インフォボックスで指定された検索条件を満たして「botany」を含む場合、UnprocessedFTSearch はその 2 つの文書だけを返します。エージェントが翌日もう一度実行されるときに、1 つの文書が 18 日以降に作成されているが指定された検索条件を満たさないか、「botany」を含まない場合、UnprocessedFTSearch は文書を含まない 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.UnprocessedFTSearch( "botany", 0 )
         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. 次のエージェントスクリプトは、単語「URGENT」を含むすべての未読文書を対象に実行されます。スクリプトはこれらの文書をフォルダに入れます。
    • エージェントが [エージェントのプロパティ] インフォボックスで指定された検索条件を含まないときは、UnprocessedFTSearch は単語「URGENT」を含むすべての未処理の文書を返します。エージェントがすでにいくつかの未処理の文書で実行済みの場合でも、UnprocessedFTSearch は同じように文書を返します。
    • エージェントが [エージェントのプロパティ] インフォボックスで指定された検索条件を含むときは、UnprocessedFTSearch は指定された検索条件を満たし、さらに単語「URGENT」を含むすべての未処理の文書を返します。エージェントがすでにいくつかの未処理の文書で実行済みの場合でも、UnprocessedFTSearch は同じように文書を返します。
      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.UnprocessedFTSearch( "URGENT", 0 )
         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