例: エージェントにアクセスする

  1. 次の例は指定されたエージェントが Notes のエージェントかどうかを示します。
    Sub Initialize
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim agent As NotesAgent
      Dim nAgent As Variant
      Set db = session.CurrentDatabase
      Forall a In db.Agents
        If(a.Name = "RemoveEntry") Then
          Set agent = a
          nAgent = agent.IsNotesAgent
          If nAgent Then
            Messagebox "This is a Notes agent."
          Else
            Messagebox "This is not a Notes agent."
          End If
        End If
      End Forall
    End Sub
  2. 次の例は、指定されたエージェントが Web エージェントかどうかを示します。
    Sub Initialize
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim agent As NotesAgent
      Dim nAgent As Variant
      Set db = session.CurrentDatabase
      Forall a In db.Agents
        If(a.Name = "Read/Write") Then
          Set agent = a
          nAgent = agent.IsWebAgent
          If nAgent Then
            Messagebox nAgent
          End If
        End If
      End Forall
    End Sub
  3. 次の例は、現在のエージェントの名前を表示します。
    Sub Initialize
      Dim session As New NotesSession
      Dim agent As NotesAgent
      Set agent = session.CurrentAgent
      If Not Isempty(agent) Then
        Messagebox(agent.Name)
      Else
        Messagebox("Not an agent")
      End If
    End Sub
  4. 次の例は、現在のデータベースにあるすべてのエージェントの名前を表示します。
    Sub Initialize
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Set db = session.CurrentDatabase
      agents = db.Agents
      If Not IsEmpty(agents) Then
        Forall agent In agents
          Messagebox(agent.Name)  
        End Forall
      Else
        Messagebox("No agents in database")
      End If
    End Sub
  5. 次の例は、エージェント「UserNameList」が手動で起動されるかどうかを判別します。
    Sub Initialize  
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim agent As NotesAgent
      Dim nAgent As Variant
      Set db = session.CurrentDatabase
      Forall a In db.Agents
        If(a.Name = "UserNameList") Then
          Set agent = a
          nAgent = agent.Trigger 
          If Trigger = Manual Then
            Messagebox "Trigger is Manual"
            End If
      End Forall
    End Sub
  6. 次の例は、エージェントを最初に起動したときのデータを保存し、それ以降に起動するたびにそのデータを表示します。エージェントが修正された場合は、この処理が最初から繰り返されます。
    Sub Initialize
      Dim session As New NotesSession
      Dim doc As NotesDocument
      Set doc = session.SavedData
      If doc.HasItem("SavedText") Then
        outText = doc.SavedText
        Messagebox("Saved text = " & outText(0))
      Else
        inText = Inputbox("Enter saved text")
        Call doc.AppendItemValue("SavedText", inText)
        Call doc.Save(True, False)
      End If
    End Sub