それとともに花粉が飛散し始めているようです。家の中に持ち込まないように注意しましょう。
私も花粉症なので、注意しています。
ということで、今日もボタンをクリックしましょう。
では、本題です。
今日はノーツクライアントを利用していると、よく使う文書リンクについてです。
Web化(XPages化含む)するにあたって、既存の文書リンクをどうやってurlリンクへと変換させるかがポイントになってくるかと思います。
そんな時はこちらのサンプルを利用してみてください。
こちらは、"tstBody"というフィールドにある文書リンクの内容を解析して、urlリンクへと変換して"tstText"フィールドへと書き込むものです。
サンプルなので、文書を編集モードで開いた状態でないと使えません。
また、1文書に1つの文書リンクがあるという前提になっています(複数の文書リンクには対応していません)。
Sub Click( Source As Button ) Dim uiws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim doc As NotesDocument Dim ritem As NotesRichTextItem Dim rnavi As NotesRichTextNavigator Dim rlink As NotesRichTextDoclink Dim srvName As NotesName Dim httpUrl As String Set uidoc = uiws.CurrentDocument Set doc = uidoc.Document Set ritem = doc.GetFirstItem( "tstBody" ) Set rnavi = ritem.CreateNavigator If rnavi.FindFirstElement( RTELEM_TYPE_DOCLINK ) = False Then Msgbox "リンクアイテムが見つかりませんでした。" Exit Sub End If Set rlink = rnavi.GetElement Set rnavi = ritem.CreateNavigator Msgbox _ "サーバ名:" & rlink.ServerHint & Chr$(10) & _ "DBレプリカID:" & rlink.DBReplicaID & Chr$(10) & _ "ビューUNID:" & rlink.ViewUnID & Chr$(10) & _ "文書UNID:" & rlink.DocUnID & Chr$(10) & _ "コメント:" & rlink.DisplayComment & Chr$(10) & _ "テキスト:" & rlink.HotSpotText, _ 0, "文書リンクの情報" Set srvName = New NotesName( rlink.ServerHint ) httpUrl = "http://" & srvName.Common & rlink.DBReplicaID & "/" & rlink.ViewUnID & "/" & rlink.DocUnID Call uidoc.FieldSetText( "tstText", httpUrl ) End Sub最後のあたりは、少々強引ですが、一応urlリンクにはなります。
Web化するにあたって、DBリンクだと使いづらいな・・・という場合に利用してみてください。
もちろん、XPages化する際にも、この手法は利用できると思いますので、さらなるチャレンジをしてみてください。
上記はサンプルなので、そのままでは実用には耐えられませんので、注意してください。
改造は自由にやっていただいて良いですが、どうやったらできるの?とか、動かない!という話は承っておりませんので悪しからず。
(どうしてもというのであれば、お仕事としてお話を承りますよ)
では、今日はこの辺で。
【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
0 件のコメント:
コメントを投稿
この投稿へのリンク
リンクを作成