これからご紹介するのは、メールに文書リンクを挿入しますが、受信者はリンクをクリックしなくても、文書を開くだけで他のアプリケーションの文書が開くようにする仕掛けです。
まずはメールを送信するためのボタンに設定する LotusScript のサンプルです。
- Sub Click(Source As Button)
- Dim ws As New NotesUIWorkspace
- Dim uidoc As NotesUIDocument
- Dim ss As New NotesSession
- Dim doc As NotesDocument
- Dim rtitem As NotesRichTextItem
- Set uidoc = ws.CurrentDocument
- Call uidoc.Save
- Set doc = New NotesDocument( ss.CurrentDatabase )
- doc.Form = "Link"
- doc.Subject = "[Request] " & uidoc.Document.Subject(0)
- Set rtitem = New NotesRichTextItem( doc, "Body" )
- Call rtitem.AppendDocLink( uidoc.Document, uidoc.Document.Subject(0) )
- Call doc.Send( True, "Hoge Hoge/ORG" )
- Set doc = Nothing
- Call uidoc.Close( True )
- End Sub
このサンプルで作られる文書(doc)ではフォーム名として "Link" を指定しています。※フォーム名は"Link"以外でも結構です
この"Link"フォームをDBに作成しておき、フォーム上に2つのフィールド"Subject"と"Body"を配置します。
そして"Link"フォームのプロパティを開き、[起動]タブにある「自動起動」の値を "-最初の文書リンク-"に変更します。
作成した文書を送信するとき、Send メソッドの第一パラメータへ True を指定すると、文書にフォームの設計情報が埋め込まれます。
つまり「フォームの最初にある文書リンクを自動起動する」情報が埋め込まれるわけです。
こうして送信されたメールをビューからダブルクリックして開くと、リンク先の文書が開きます。
この仕組みの惜しいところは、プリビューペインで開いた場合はリンク先の文書は開かず、埋め込まれたフォームの内容が表示されるところです。
プリビューペインで開くことを想定して、「リンクをクリックして文書を開きなさい」的な文言を追加したり、"Link"フォームの設計を工夫するのが良いと思います。