- 次の例は、ユーザーが編集モードでフィールドに入力したときに実行されます。このスクリプトはフィールドと文書についての情報を示します。
Sub Entering(Source As Field)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
If uidoc.EditMode Then
If uidoc.IsNewDoc Then
Messagebox _
("This is the " & _
uidoc.CurrentField & " field")
Else
Messagebox _
("This is the " & uidoc.CurrentField & _
" field of " & uidoc.WindowTitle)
End If
End If
End Sub
- 次の例では、現在の文書が編集モードでない場合は編集モードにして、ルーラーの表示を切り替えます。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
If Not uidoc.EditMode Then
uidoc.EditMode = True
End If
uidoc.Ruler = NOT uidoc.Ruler
End Sub
- 次の例では、現在の UI 文書に対応するデータベースの文書を取得し、親のデータベース (現在のデータベース) を取得します。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Set db = doc.ParentDatabase
Messagebox "Parent database: " & db.Title
End Sub
- 次の例では、現在の文書で選択された文字列を取得します。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim text As String
Set uidoc = workspace.CurrentDocument
text = uidoc.GetSelectedText(body$)
End Sub
- 次のスクリプトでは、文書を変更したユーザーの名前を最初に表示してから文書を開きます。
Sub Queryopendocument(Source As Notesuiview, Continue As Variant)
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument
Dim alist As String
Set docs = Source.Documents
Set doc = docs.GetFirstDocument()
Forall a In doc.Authors
alist = alist & a & Chr(10)
End Forall
Messagebox alist , , "Document author(s)"
End Sub
- 次の例では、NotesDocument オブジェクトを使用して Categories テキストアイテムに値を入力します。NotesDocument オブジェクトを保存するときに、ワークスペースオブジェクトはリアルタイムに更新されます。次のコードはリッチテキストアイテムでは動作しません。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
If Not uidoc.EditMode Then uidoc.EditMode = True
categories = doc.Categories
categories(0) = "Main category"
doc.Categories = categories
Call doc.Save(True, False)
End Sub
- 次の例では、[Person] フォームに基づいて新規文書を作成し、ユーザーからの情報を得るために、[Person Dialog Box] フォームに基づいてダイアログボックスを表示します。[Person Dialog Box] フォームのレイアウト領域には、[Person] フォームのフィールドと同じ名前を持つフィールドが含まれます。ユーザーがダイアログボックスで [OK] をクリックすると、ダイアログボックスのデータは新規文書の同じ名前のフィールドに転送されます。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.ComposeDocument("","", "Person")
Call workspace.DialogBox _
("Person Dialog Box", True, True)
End Sub
- 次の例では、ビューの現在の文書を編集モードで開き、ユーザーからの情報を情報を得るために、[Person Dialog Box] フォームに基づいてダイアログボックスを表示します。[Person Dialog Box] フォームのレイアウト領域には、現在の文書のフィールドと同じ名前を持つフィールドが含まれます。ユーザーがダイアログボックスで [OK] をクリックすると、ダイアログボックスのデータは文書の同じ名前のフィールドに転送されます。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.EditDocument(True)
Call workspace.DialogBox _
("Person Dialog Box", True, True)
End Sub
- 次の例は前の例と同様ですが、DialogBox メソッドに対してすべての引数を使用します。引数 4 (True) は [OK] ボタンだけを表示します。引数 5 (True) は基になるフォームに新規フィールドを追加することを拒否します。引数 6 (False) は基のフォームに編集内容を渡せるようにします。引数 7 (False) はダイアログボックスを編集できるようにします。最後の引数はダイアログボックスのタイトルを指定します。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.EditDocument(True)
Call workspace.DialogBox _
("Person Dialog Box", _
True, True, True, True, False, False, _
"Fill in this box and click Enter")
End Sub
- 次の例は、指定された文字列を現在の UI 文書で検索します。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.FindString("Get this string.")
End Sub
- 次の例では、現在の UI 文書の本文部分にテキスト文書を呼び出します。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Import
End Sub
- 次の例では現在の文書を編集モードにし、スペルミスを調べます。SpellCheck メソッドを呼び出す前に、文書が編集モードでなければなりません。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.EditDocument(True)
Call uidoc.SpellCheck
End Sub
- 次の例では [空き時間の検索] ボックスを表示し、[SendTo] フィールドにリストされたユーザーの空いている時間を検索します。検索は [StartDateTime] と [EndDateTime] フィールドで定義された範囲に限定されます。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Refresh
Call uidoc.FindFreeTimeDialogEx _
("SendTo", "", "", "", "", "", "", "StartDateTime", _
"EndDateTime")
End Sub