当講座を開発担当した株式会社ソルクシーズ吉田です。
本連載は、今年開催しました「ノーツ新任担当者向けワークショップ(開発者編)」の内容を再編集をしてお届けします。
前回は、フレームセット(画面レイアウト)の作成まで行いました。
最終回となる第5回は、エージェント(マクロ)の作成です。
「実際に操作をしながら学びたい」と思われた方は、来年度に開催する予定のワークショップにぜひご参加ください。
ステップ5:エージェントの作成

エージェントでは、様々な処理を記述できます。
イメージ的には、Excel のマクロが近いかと思います。
よく使われる例としては、
- 一括データ変更: 組織変更でデータの担当者や部署名を一括で書き換える。
- CSV 出力: 毎日決まった時間に承認された経費データを CSV 形式で出力する。
- メール送信: 一定期間保留されている承認待ち申請書がある場合、承認者へ処理を催促メールを送信する。
などがあります。
主な実行方法は、次の2つです。
- イベント: メニューバーやビュー/フォームのアクションからユーザーの操作により実行する。
- スケジュール: 一定期間(1時間毎など)や毎日、毎週の指定した時刻に実行する。
今回は、一括データ変更のエージェントを作成します。
仕様
アンケートの回答2の値に「その他」が含まれる場合、値を「その他(ガラケーなど)」に変更するエージェントを作成します。
画面左の設計要素一覧から「コード-エージェント」をダブルクリックして選択します。
画面中央にエージェントの一覧が表示されます。(この時点ではエージェントが存在しないため空欄です)
画面上部のボタン「新規エージェント」をクリックします。
ダイアログ「新規エージェント」が表示されます。

各項目に下表の値を設定します。
エージェント |
名前 |
値の置き換え |
日本語の名前 |
別名 |
Answer02Replace |
プログラムで使用する名前
(半角英数字)
|
タイプ |
式 |
言語の種類 |
ボタン「OK」をクリックすると、エージェントが作成されます。
ステップ5-1:エージェントのプロパティ
エージェントのプロパティを開きます。
エージェント設計画面で右クリックし、「エージェントのプロパティ」で開くことができます。


各項目に下表の値を設定します。
エージェントのプロパティ:タブ「基本」 |
実行-トリガー |
イベント
アプリケーションメニューから手動で
|
メニューバーに表示 |
実行-対象 |
すべての選択文書 |
ビューで選択した文書に対してエージェントを実行
|
エージェント設計画面下部のタブ「オブジェクト」内の「値の置き換え(エージェント)-アクション」をクリックします。
画面右下のプルダウンメニューで「文書の更新」が選択されていることを確認します。

アクションにプログラムを記述します。

以下の式を記述してください。
FIELD Answer02 := @Replace(Answer02;"その他";"その他(ガラケーなど)");
プログラムの解説

Answer02フィールドはチェックボックスです。
そのため複数の値(例:”iPhone”と”その他”)が保存されている場合があります。
ノーツでは複数の値をリストと呼びます。
そのため、リストを扱うことができる @Replace 関数を使って置き換えています。
保存して閉じます。
ステップ5-2:フィールドの選択肢の変更
エージェントで置き換えた値をフォームで表示するためにフィールド「Answer02」の選択肢も変更します。
(フィールドの選択肢を変更していないと文書を開いた時にチェックボックスのチェックが外れた状態になります)
画面左の設計要素一覧から「フォーム-アンケート」をダブルクリックしてフォームを開きます。

フィールド「Answer02」のプロパティを開きます。
タブ「制御」の「選択」の “その他” を “その他(ガラケーなど)” に変更します。
(エージェントに記述した値と同一になるように、半角全角に注意してください)

保存して閉じます。
ステップ5-3:動作確認
作成したエージェントの動作を確認してみましょう。
ノーツクライアントを起動して、ビューを開きます。
ビューで「回答2」に「その他」が含まれる文書を選択(チェック)します。

メニューバー<アクション-値の置き換え>から実行します。

ビューで結果を確認します。

文書を開いて確認します。

ステップ5-4.トラブルシューティング
A. ビューで選択した文書以外の値が置き換わった場合
エージェントのプロパティ、タブ「基本」の「実行-対象」の指定が「すべての選択文書」になっていない
B. 値が置き換わっていない場合
記述した式の間違い。綴りミス(フィールドや選択肢)
C. ビューでは「その他(ガラケーなど)」に置き換わっているが文書を開くとチェックボックスのチェックが外れている
フォームのフィールド「Answer02」のプロパティ、タブ「制御」の「選択」の間違い。綴りミス
以上が、エージェント(マクロ)の作成の手順です。
ご紹介した以外にもエージェントには様々な使い方があります。余裕ができたら他のエージェントにもチャレンジしてみください。
今回で「ノーツ新任担当者向けアプリケーション開発講座」は終了になります。
この講座が、ノーツアプリケーション開発をこれから始める方に少しでもお役立てれば幸いです。
「実際に操作をしながら学びたい」と思われた方は、来年度に開催する予定のワークショップにぜひご参加ください。
最後までご覧頂きありがとうございました。
(株式会社ソルクシーズ 吉田武司)