例: NotesColorObject class

次のエージェントは、Domino の各色を表す 1 つの行が含まれたリッチテキストアイテムを作成します。この行により、Domino の色、RGB 値、HSL 値を識別します。それぞれの行は、その行が表す色で表示されるため、フォームの背景色によっては見えない行もあります。[Colors] というフォームには、[Subject] (テキスト)、[本文] (リッチテキスト) という 2 つのフィールドが含まれます。

Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim doc As NotesDocument
  Dim rti As NotesRichTextItem
  Dim rts As NotesRichTextStyle
  Dim color As NotesColorObject
  Set db = session.CurrentDatabase
  Set doc = New NotesDocument(db)
  Call doc.ReplaceItemValue("Form", "Colors")
  Call doc.ReplaceItemValue("Subject", "Colors")
  Set color = session.CreateColorObject
  Set rti = doc.CreateRichTextItem("Body")
  Set rts = session.CreateRichTextStyle
  rts.FontSize = 12
  rts.Bold = True
  For i = 0 To 240
    color.NotesColor = i
    rts.NotesColor = i
    Call rti.AppendStyle(rts)
    Call rti.AppendText(Format(i, "000"))
    Call rti.AddTab(1)
    Call rti.AppendText("Red " & Format(color.Red, "000"))
    Call rti.AddTab(1)
    Call rti.AppendText("Green " & Format(color.Green, "000"))
    Call rti.AddTab(1)
    Call rti.AppendText("Blue " & Format(color.Blue, "000"))
    Call rti.AddTab(1)
    Call rti.AppendText("Hue " & Format(color.Hue, "000"))
    Call rti.AddTab(1)
    Call rti.AppendText("Saturation " & Format(color.Saturation, _
    "000"))
    Call rti.AddTab(1)
    Call rti.AppendText("Luminance " & Format(color.Luminance, "000"))
    If i <> 240 Then Call rti.AddNewLine(1)
  Next
  Call doc.Save(True, True)
End Sub