例: Owner property

  1. 次のスクリプトは、現在のエージェントを最後に変更したユーザーの名前を取得します。例えば、Yukiko Kitarmura/Tokyo/Production がエージェントを作成した後に Mariko Ikebuchi/Tokyo/Production が変更したときは、Mariko が所有者と判断され、CurrentAgent プロパティは「CN=Mariko Ikebuchi/OU=Tokyo/O=Production」を返します。
    ' created by Yukiko Kitamura 11/28/95
    ' modified by Mariko Ikebuchi 12/17/95
    Dim session As New NotesSession
    Dim agent As NotesAgent
    Dim owner As String
    Set agent = session.CurrentAgent
    owner = agent.Owner
  2. 次のエージェントスクリプトは、現在のデータベースで未処理文書を探して処理を実行し、実行した処理のログを記録します。スクリプトは Owner プロパティを使用して、ログをエージェントの所有者に送信します。
    Sub Initialize
      Dim session As New NotesSession
      Dim agent As NotesAgent
      Dim db As NotesDatabase
      Dim collection As NotesDocumentCollection
      Dim currentLog As NotesLog
      Dim doc As NotesDocument
      Set agent = session.CurrentAgent
      Set db = session.CurrentDatabase
      Set collection = db.UnprocessedDocuments
      Set currentLog = New NotesLog( "Log for " & agent.Name )
      Call currentLog.OpenMailLog _
      ( agent.Owner, currentLog.ProgramName )
      For j = 1 To collection.Count
        Set doc = collection.GetFirstDocument()
        '...do whatever to the document...
        Call session.UpdateProcessedDoc( doc )
        Call currentLog.LogAction _
        ( "Processed " & doc.Subject( 0 ) )
      Next
      Call currentLog.Close
    End Sub

    例えば、Brandon Herkle が所有する「Brandon's Agent」というエージェントが 3 つの文書を処理するとき、Brandon は「Log for Brandon's Agent」というタイトルのメールメモを受け取ります。メールメモの [本文] フィールドの内容を次に示します。

    08/10/95 04:35:02 PM Log for Brandon's Agent starting

    08/10/95 04:35:02 PM Processed Status Report for Anthony Pycha

    08/10/95 04:35:02 PM Processed Status Report for David Dinauer

    08/10/95 04:35:02 PM Processed Status Report for Mary Jo Mastro