例: DocumentContext property (NotesSession - LotusScript)

  1. 次のエージェントは、Notes クライアントのビューから実行されると、現在の文書の Subject アイテムを表示します。
    Sub Initialize
      Dim session As NotesSession
      Set session = New NotesSession
      Dim doc As NotesDocument
      Set doc = session.DocumentContext
      Messagebox doc.Subject(0),, "Subject"
    End Sub
  2. 次のエージェントは、ブラウザの @Command([ToolsRunMacro]) で実行されると、現在の文書の Subject アイテムを表示します。
    Sub Initialize
      Dim session As NotesSession
      Set session = New NotesSession
      Dim doc As NotesDocument
      Set doc = session.DocumentContext
      Print "<H2>" + doc.Subject(0) + "</H2>"
    End Sub
  3. 次のエージェントは、ブラウザから OpenAgent URL コマンドまたは @Command([ToolsRunMacro]) で実行されると、CGI 変数 Remote_Addr が現在の文書に使用されているフォーム上のフィールドである場合は、CGI 変数 Remote_Addr を表示します。
    Sub Initialize
      Dim session As NotesSession
      Set session = New NotesSession
      Dim doc As NotesDocument
      Set doc = session.DocumentContext
      Print "<H2>IP address is " + _
      doc.Remote_Addr(0) + "</H2>"
    End Sub
  4. 次のエージェントはカウンタを増加します。これを WebQueryOpen で呼び出すと、Web ページが開かれた回数をトラッキングすることができます。カウンタは Access_counter という名前でプロフィール文書内で実行されます。名前のアイテムは、文書が開いたときのみ表示するために存在します。
    Sub Initialize
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim doc As NotesDocument
      Dim profile As NotesDocument
      Dim num As Double
      Dim numStr As String
      Set doc = session.DocumentContext
      Set db = session.CurrentDatabase
      Set profile = db.GetProfileDocument( _
      "(AccessCounterProfile)")
      numStr = profile.Access_counter(0)
      If numStr = " " Or numStr = "" Then
        num = 1
      Else
        num = Cdbl(numStr) + 1
      End If
      Call profile.ReplaceItemValue( _
      "Access_counter", Cstr(num))
      Call profile.Save(False, False)
      Call doc.ReplaceItemValue("Access_counter", Cstr(num))
    End Sub