LOTUSSCRIPT /COM/OLE のクラス
例:現在の文書にアクセスする
1.
次の例は、ユーザーが編集モードでフィールドに入力したときに実行されます。このスクリプトはフィールドと文書についての情報を示します。
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
2. 次の例では、現在の文書が編集モードでない場合は編集モードにして、ルーラーの表示を切り替えます。
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
3. 次の例では、現在の 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
4. 次の例では、現在の文書で選択された文字列を取得します。
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
5. 次のスクリプトでは、文書を変更したユーザーの名前を最初に表示してから文書を開きます。
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
6. 次の例では、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
7. 次の例では、[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
8. 次の例では、ビューの現在の文書を編集モードで開き、ユーザーからの情報を情報を得るために、[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
9. 次の例は前の例と同様ですが、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
10. 次の例は、指定された文字列を現在の 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
11. 次の例では、現在の UI 文書の本文部分にテキスト文書を呼び出します。
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Import
End Sub
12. 次の例では現在の文書を編集モードにし、スペルミスを調べます。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
13. 次の例では [空き時間の検索] ボックスを表示し、[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
関連項目
LotusScript のクラスで現在の文書にアクセスする
用語集
フィードバック
ヘルプ
または
プロダクトユーザビリティ
ヘルプの使い方
すべてのヘルプ項目
用語集