例: LogAction method

  1. 次のエージェントスクリプトはアクションのログをメールメモに記録します。現在のデータベース上で全文検索を実行し、検索条件に一致する文書ごとにアクションを 1 つ記録します。

    LogAction メソッドが呼び出されるたびに、スクリプトはメールメモの Body アイテムに 1 行を新規追加します。例えば、FTSearch が 3 つの文書で構成されるコレクションを返した場合、メールメモの Body は次のようになります。

    10/25/95 12:26:37 PM Botany Agent starting 10/25/95 12:26:42 PM Document Petals placed in folder. 10/25/95 12:26:44 PM Document Stems placed in folder. 10/25/95 12:26:46 PM Document Leaves placed in folder.

Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim collection As NotesDocumentCollection
  Dim currentLog As NotesLog
  Dim doc As NotesDocument
  Dim j As Integer
  Set db = session.CurrentDatabase
  Set collection = db.FTSearch( "botany", 0 )
  Set currentLog = New NotesLog( "Botany Agent" )
  Call currentLog.OpenMailLog _
  ( "Jesse Gora", "Log for Botany Agent" )
  For j = 1 To collection.Count
    Set doc = collection.GetNthDocument( j )
    Call doc.PutInFolder( "Botanist's Delight" )
    Call currentLog.LogAction( "Document " &  _
    doc.Subject( 0 ) & " placed in folder." )
  Next
  Call currentLog.Close
End Sub
  1. 最初のスクリプトの OpenMailLog の呼び出しを次の呼び出しと置換します。
    Call currentLog.OpenNotesLog( "", "agentlog.nsf" )

    LogAction メソッドが呼び出されるたびに、スクリプトは現在のコンピュータの AGENTLOG.NSF に新規の文書を作成して保存します。例えば、FTSearch が 3 つの文書を持つコレクションを返すとき、AGENTLOG.NSF に作成された新規文書の 1 つは次のアイテムを持ちます。

    A$PROGNAME	"Botany Agent"
    A$LOGTIME	10/25/95 01:22:24 PM
    A$USER		"Kerry Bowling"
    A$LOGTYPE	"Action"
    A$ACTION		"Document Petals placed 
                    in folder."
  2. 最初のスクリプトの OpenMailLog の呼び出しを次の呼び出しと置換します。
    Call currentLog.OpenFileLog( "c:¥log.txt" )

    LogAction メソッドが呼び出されるたびに、スクリプトは log.txt に 1 行を新しく追加します。例えば、FTSearch が 3 つの文書で構成されるコレクションを返した場合、log.txt は次のようになります。

    Botany Agent: 10/25/95 01:23:33 PM: Document Petals placed in folder.
    Botany Agent: 10/25/95 01:23:35 PM: Document Stems placed in folder.
    Botany Agent: 10/25/95 01:23:37 PM: Document Leaves placed in folder.