例: EditDocument method

  1. 次のビューアクションスクリプトは、ビューで現在ハイライト表示されている文書を編集モードで開きます。
    Sub Click(Source As Button)
      workspace As New NotesUIWorkspace
      Call workspace.EditDocument( True )
    End Sub
  2. 次のビューアクションスクリプトはビューで現在ハイライト表示されている文書を編集モードで開き、挿入点を [本文] フィールドに移動します。
    Sub Click(Source As Button)
      Dim workspace As New NotesUIWorkspace
      Dim uidoc As NotesUIDocument
      Set uidoc = workspace.EditDocument( True )
      Call uidoc.GotoField( "Body" )
    End Sub
  3. 次のエージェントは、指定された文書を読み込みモードで開きます。文書は、CustomerNumber フィールドでソートされたビューの GetDocumentByKey を使用して選択されます。
    Sub Initialize
      Dim ws As New NotesUIWorkspace
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim view As NotesView
      Dim doc As NotesDocument
      Dim customerNumber As String
      Set db = session.CurrentDatabase
      Set view = db.GetView("All Documents by CustomerNumber")
      customerNumber = Inputbox$("Customer number")
      If customerNumber <> "" Then
        Set doc = view.GetDocumentByKey(customerNumber, True)
        If doc Is Nothing Then
          Messagebox "Customer # " & customerNumber,, _
          "Customer not found"
        Else
          Call ws.EditDocument(False, doc)
        End If
      End If
    End Sub
  4. 次のエージェントは、指定した文書をテキストが「Address」のアンカーリンクに読み込みモードで開き、ユーザーが書き込みモードに切り替えられないようにします。文書は、CustomerNumber フィールドでソートされたビューの GetDocumentByKey を使用して選択されます。
    Sub Initialize
      Dim ws As New NotesUIWorkspace
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim view As NotesView
      Dim doc As NotesDocument
      Dim customerNumber As String
      Set db = session.CurrentDatabase
      Set view = db.GetView("All Documents by CustomerNumber")
      customerNumber = Inputbox$("Customer number")
      If customerNumber <> "" Then
        Set doc = view.GetDocumentByKey(customerNumber, True)
        If doc Is Nothing Then
          Messagebox "Customer # " & customerNumber,, _
          "Customer not found"
        Else
          Call ws.EditDocument(False, doc, True, "Address")
        End If
      End If
    End Sub
  5. 次のエージェントは文書を開くフレームで実行されるため、NotesUIDocument オブジェクトが返されないようにします。オブジェクトが返されると、エラー lsERR_LSXU13_ANCESTOR_TARGET_FRAME が発生します。この文書は開かれますが、返される NotesUIDocument オブジェクトは Nothing です。次の例も参照してください。
    Sub Initialize
      Dim ws As New NotesUIWorkspace
      Dim uidoc As NotesUIDocument
      Dim s As New NotesSession
      Dim db As NotesDatabase
      Dim view As NotesView
      Dim doc As NotesDocument
      Set db = s.CurrentDatabase
      Set view = db.GetView("All Documents")
      Set doc = view.GetFirstDocument
      Call ws.OpenFrameSet("main")
      Call ws.SetTargetFrame("left")
      Set uidoc = ws.EditDocument(False, doc, False,,False)
    End Sub
  6. 次のエージェントは、NotesUIDocument オブジェクトが返されないようにはしませんが、エラー lsERR_LSXU13_ANCESTOR_TARGET_FRAME を捕捉します。この場合、文書は開かれません。
    %INCLUDE "lsxuierr.lss"
    Sub Initialize
      On Error Goto handleError
      Dim ws As New NotesUIWorkspace
      Dim uidoc As NotesUIDocument
      Dim s As New NotesSession
      Dim db As NotesDatabase
      Dim v As NotesView
      Dim doc As NotesDocument
      Set db = s.CurrentDatabase
      Set view = db.GetView("All Documents")
      Set doc = view.GetFirstDocument
      Call ws.OpenFrameSet("main")
      Call ws.SetTargetFrame("left")
      Set uidoc = ws.EditDocument(False, doc, False)
      Exit Sub
    handleError:
      If Err() = lsERR_LSXUI3_ANCESTOR_TARGET_FRAME Then
        Exit Sub
      Else
        Messagebox Err(),, Error()
        Exit Sub
      End If
    End Sub
  7. 次のアクションは、返答文書のフォーム上で実行されます。既存の UI インスタンスが存在する場合は、それを使用して親文書を編集します。
    Sub Click(Source As Button)
      REM Create workspace, UI objects, and back-end objects
      Dim ws As New NotesUIWorkspace
      Dim uidb As NotesUIDatabase
      Dim uidoc As NotesUIDocument
      Dim db As NotesDatabase
      Dim doc As NotesDocument
      Dim parentDoc As NotesDocument
      Set uidb = ws.CurrentDatabase
      Set uidoc = ws.CurrentDocument
      Set db = uidb.Database
      Set doc = uidoc.Document
      REM Save if new so there will be a UNID
      If uidoc.IsNewDoc Then Call uidoc.Save
      REM Get the parent document
      Dim unid As String
      unid = doc.ParentDocumentUNID
      If unid = "" Then Exit Sub ' Just in case
      Set parentDoc = db.GetDocumentByUNID(unid)
      REM Open parent document
      REM Do not open a new window if document is already in the UI
      Call ws.EditDocument(True, parentDoc,,,, False)
    End Sub