前回の対応で、それぞれのクライアント用の画面を作成し、Nomad - ノーツ ハイブリッド環境ができました。この機能を生かして、ノーツからでも Google Map 連係機能が利用できるよう修正します。
フォームの更新
第 4 回 以降 Nomad 用の設計ばかりを作ってきました。ノーツ用フォーム fExpence は放置状態だったので、Nomad 版と同じレベルに修正します。
場所については Nomad 用フォームからカスケードした表ごとコピペすると簡単です。
分類は 1 行 2 列の表をマージンに合わせる設定で作成し、罫線を 0 に設定します(表の上下の段落は非表示)。そこに、Budget と ItemGroup のフィールドを Nomad 用フォームからコピペします。フィールドは、ノーツクライアントに合わせてサイズを調整します(添付の画像では、幅 4.5 cm、高さ 4 cm に設定)。
座標欄は、外側の表に一行追加します。セル内のデザインは場所と同じなので、コピペした後に、フィールドを Nomad 用フォームからコピペします。ボタンは後ほど作業するので名称だけ[入力]に変更します。
マージンに合わせる設定のままだとフォームが間延びするので固定幅とします。添付の画像では、タイトルの表は 12.4 cm、入力欄の列は 10 cm 幅に設定しています。
入力ボタンの作成
ノーツクライアントには通常 GPS は付いていません。Google Map 連係機能を利用するためには座標の入力が必要です。ただ、緯度・経度を手入力するのは大変なので、入力機能を作成します。
入力を補助してくれるのも Google Map です。地図上を右クリックすると座標をクリップボードにコピーする機能があり、これを利用します。
まず、新規で LotusScript のエージェントを作成します。
エージェント名 | InputLocation |
トリガー | イベント |
エージェントリストの選択 | |
対象 | なし |
エージェントのプログラムは次の通りです。
Option Declare Sub Initialize Dim nuiw As New NotesUIWorkspace Dim nuid As NotesUIDocument Dim nd As NotesDocument Dim sTmp As String Dim vTmp As Variant Dim dLat As Double Dim dLng As Double On Error GoTo Label_Err '座標の入力 sTmp = nuiw.Prompt(PROMPT_OKCANCELEDIT, "座標の入力", "検索の座標を入力してください。", "") vTmp = Split(sTmp, ",") dLat = CDbl(Trim(vTmp(0))) dLng = CDbl(Trim(vTmp(1))) '座標の設定 Set nuid = nuiw.CurrentDocument Set nd = nuid.Document nd.Sch_Latitude = dLat nd.Sch_Longitude = dLng Label_Exit: Exit Sub Label_Err: Resume Label_Exit End Sub |
エージェントができたら[入力]ボタンで実行するように設定します。
動作検証
完成したら、動作検証です。
ノーツから新規作成し座標を入力します。そのあと[近隣]ボタンでその近辺の情報がリストアップされたら成功です。
これでいちいち Nomad で操作しなくても、検証ができるようになりました。また、その場所にいたことにして検索できるもありがたいですね。
前回 | 作ってみよう | 次回 |
0 件のコメント:
コメントを投稿