作成するアプリケーションの規模が大きくなってくると、ほとんど同じような内容のコマンドセットを複数箇所で設定しなければならないことがあります。このような場合、ほとんど同じようなコマンドセットを何個も作成していくにはとても時間がかかりますし、後からそのコマンドの一部を変更する場合は、作成したすべてのコマンドセットに対して修正を行う必要があるため、開発生産性と保守性の両方の観点からあまり良い方法とは言えません。そのような場合には、再利用コマンドの機能を使用して、複数の同じようなコマンドセットを集約できないかどうかを検討してください。
再利用コマンドの作成方法は、新規に作成する方法と既存のコマンドを再利用コマンドへと変換する方法があります。
チェックボックス型セルの値がTrueであればFalseに、FalseであればTrueに変更する再利用コマンドを作成します。
次のようなページを作成します。
B2セルのチェックボックス型セルには「Checkbox1」というセル名を、B6セルのチェックボックス型セルには「Checkbox2」というセル名を設定します。
[高度な機能]リボンタブから[再利用コマンド]ボタンをクリックして、[再利用コマンド]ダイアログを開きます。
[新しい再利用コマンド]ボタンをクリックして再利用コマンドを1つ追加します。
ここでは[名前]を「チェックボックス値の反転処理」と設定します。
コマンドの編集アイコン[]をクリックして[コマンドの編集]ダイアログを開きます。
[コマンドの選択]ドロップダウンリストから「条件分岐」を選択します。
「If [ 条件式 ]」の右側にある[]ボタンをクリックして[条件式]ダイアログを開きます。
[新しい条件]ボタンをクリックして条件を1つ追加します。
[フィールド]列の右側にある[]ボタンをクリックして[パラメーターの選択]ダイアログを開きます。
注意:再利用コマンドのパラメーターは、再利用コマンド内の各コマンドの数式で使用できません。パラメーターを使用する場合にはパラメーター単一で指定する必要があります。このような条件の入力ボックスは通常の数式が入力が可能な場合と区別するため、[]ボタンで表示されます。
注意:
変数が数式やセル参照だった場合、処理するタイミングは変数を利用するコマンド実行時となります。
この時、変数を利用するコマンドが数式やセル参照に対応していなかった場合、値はnullとなりますのでご注意ください。
(例:条件分岐コマンドのフィールド列の値には「=A1+B1」といった数式を設定することはできません。もし変数「=A1+B1」を参照するように設定した場合、結果はnullとなります)
[新しいパラメーター]ボタンをクリックして[パラメーター名の設定]ダイアログを開きます。
ここでは[名前]を「対象チェックボックス」に設定し、[OK]ボタンをクリックします。
作成した「対象チェックボックス」を選択した状態で[OK]ボタンをクリックしてダイアログを閉じます。
[値]列の値を「True」に設定し、[OK]ボタンをクリックしてダイアログを閉じます。
「Then」の右側にある[]ボタンをクリックして[コマンド(条件武器コマンド内)]ダイアログを開きます。
[コマンドの選択]ドロップダウンリストで「セルプロパティの設定」コマンドを選択し、[新しいプロパティ設定]ボタンをクリックしてプロパティ設定を1つ追加します。
[対象セル]列の右側にある[]ボタンをクリックして[パラメーターの選択]ダイアログを開きます。
「対象チェックボックス」を選択肢、[OK]ボタンをクリックしてダイアログを閉じます。
[設定値]列の値に「False」と入力し、[OK]ボタンをクリックしてダイアログを閉じます。
[Elseの追加]ボタンをクリックしてElseを追加します。
「Else」部分の右側にある[]ボタンをクリックして[コマンド(条件武器コマンド内)]ダイアログを開きます。
先ほど同様の手順で「セルプロパティの設定」コマンドを選択し、追加したプロパティ設定に対して[対象セル]は「対象チェックボックス」パラメーターを設定し、[設定値]は「True」を設定します。[OK]ボタンをクリックしてすべてダイアログを閉じます。
「チェックの反転」ボタンを選択し、右ペインから[コマンド...]をクリックして[コマンド]ダイアログを開きます。
[新しいコマンド]ドロップダウンボタン右側のドロップダウンアイコンをクリックし、[再利用コマンド]を選択します。
[使用する再利用コマンド]ドロップダウンリストで先ほど作成した「チェックボックス値の反転」再利用コマンドを選択します。
入力パラメーターである[対象チェックボックス]には、B2セルのチェックボックス型セルのセル名である「Checkbox1」を入力します。
手順15から17の操作と同様に、2つ目の「チェックの反転」ボタンに対しても「チェックボックス値の反転」再利用コマンド設定します。
入力パラメーターである[対象チェックボックス]には、B6セルのチェックボックス型セルのセル名である「Checkbox2」を入力します。[OK]ボタンをクリックしてダイアログを閉じます。
[ホーム]リボンタブにあるデバッグの[開始]ボタンをクリックし、アプリケーションの動作を確認します。
1つ目の「チェックの反転」ボタンをクリックすると、1つ目のチェックボックスの値が、2つ目の「チェックの反転」ボタンをクリックすると2つ目のチェックボックスの値が反転することを確認できます。
複数のデータ登録ページが存在するが、登録するデータは1つのフィールドのみが各ページで異なり、それ以外は共通であるような場合に使用できる再利用コマンドを既存コマンドを変換する方法で作成します。
次のようなフィールドを持つテーブルを作成します。
ここではテーブルの名前は「テーブル1」とします。
[作成]リボンタブから[テーブルからページを生成]ボタンをクリックし、「テーブル1」からページを作成します。
設定はすべて既定のままとします。
作成されたページ「テーブル1_登録・更新の共通ページ」を「登録ページA」に変更します。
ページ名の変更は右クリックのコンテキスメニューにある[名前の変更]か、F2キーで行えます。
「登録ページA」の上部に適当に結合したセルの領域を作成し、そのセルに対して[挿入]リボンタブから[キーワード]-[ページ名]を挿入します。
フォントの大きさやレイアウトは適宜調整してください。
「登録」、および「更新」となるボタン型セルを選択し、右ペインから[コマンド...]ハイパーリンクをクリックします。
ここではK12セルに配置されているボタンが対象となります。
[条件分岐]コマンドの最初の条件で実行される[テーブルデータの更新]コマンドを選択し、[詳細設定...]のハイパーリンクをクリック、[非データ連結フィールド]を1つ追加し、[フィールド]を「種類」、[値]を「=A1」とします。
このようにすることで、「%PageName%」キーワードにより取得されるページ名が、「種類」フィールドの値として登録されます。
コマンドの一覧が表示される左側の領域を右クリックし、コンテキストメニューから[再利用コマンドへ変換]を選択し、本コマンドセットを再利用コマンドへと変換します。
ここでは通常のコマンドセットを再利用コマンドに変換する方法を使用しますが、[高度な機能]リボンタブから再利用コマンドを新規作成することもできます。
再利用コマンドの名前を入力して[OK]ボタンをクリックします。
ここでは既定で表示される「再利用コマンド1」とします。
再利用コマンドに変換されるので、[OK]ボタンをクリックして[コマンド]ダイアログを閉じます。
「パラメーター1」の値に設定されているセル参照がページ名を表示するセル、「パラメーター2」の値に設定されているセル参照が「登録」、および「更新」となるボタン型セルであることを確認します。
[ナビゲーション ウィンドウ]上の「登録ページA」を右クリックし、コンテキストメニューから[複製]を選択します。
複製されたページの名前を「登録ページB」に変更します。
ページ名の変更は右クリックのコンテキスメニューにある[名前の変更]か、F2キーで行えます。
「登録ページB」が「登録ページA」と区別がつきやすいよう、適宜セルの塗りつぶしの色などを変更します。
「テーブル1_一覧ページ」ページの「登録ページ」ハイパーリンク型セルをコピーして、適当な位置に貼り付けます。
ここではG8セルをコピーし、L8セルの位置に貼り付けます。その後、分かりやすいようにそれぞれ「登録ページA」、「登録ページB」にセルの値を変更します。
コピーした「登録ページB」ハイパーリンク型セルを選択し、右ペインの[コマンド...]ハイパーリンクをクリックしてコマンドの内容を次の図のように変更します。
遷移先ページを「登録ページB」へと変更し、[遷移先ページの値の受け渡し]を設定します。
リストビュー内の「更新」ハイパーリンク型セルを選択し、右ペインから[コマンド...]ハイパーリンクをクリックして[コマンド]ダイアログを開きます。
ここではT10セルが対象セルとなります。
[条件分岐]コマンドを追加し、「テーブル1」テーブルの「種類」フィールドの値が「登録ページA」だった場合には「登録ページA」へと、そうでない場合には「登録ページB」へ遷移するようにコマンドを修正します。
[遷移先ページの値の受け渡し]では、「登録」、および「更新」となるボタン型セルに「更新」という値(文字列)を渡すようにそれぞれ設定します。
「テーブル1_一覧ページ」ページをスタートページに設定し、デバッグの開始を行います。
スタートページの設定方法はページの操作(ナビゲーションウィンドウ)を参照してください。1つの再利用コマンドを2つのページ上で再利用し、それぞれのページ名が「種類」フィールドに登録されることを確認できます。
作成した際利用コマンドに修正を加えた際に、一度の修正でその再利用コマンドを利用しているすべての箇所が変更される例を示します。
[高度な機能]リボンタブから[再利用コマンド]ボタンをクリックして、[再利用コマンド]ダイアログを開きます。
コマンドの編集アイコン[]をクリックして、[コマンドの編集]ダイアログを開きます。
データの登録を行う[テーブルデータの更新]コマンドの[確認ダイアログを表示する]チェックボックスをチェックし、[OK]ボタンをクリックしてダイアログを閉じます。
本変更により、登録ボタンを押した際に確認ダイアログが表示されるようになります。
デバッグの開始を行い、動作を確認します。
1つの再利用コマンドの修正により、「登録ページA」と「登録ページB」の両方において、その修正が反映されていることを確認できます。
[高度な機能]リボンタブから[再利用コマンド]ボタンをクリックして、[再利用コマンド]ダイアログを開きます。
使用箇所の検索アイコン[]をクリックすると、その再利用コマンドを使用している個所が一覧で表示されます。
一覧からどれか1つをダブルクリックすることで、その使用箇所へとジャンプします。
[高度な機能]リボンタブから[再利用コマンド]ボタンをクリックして、[再利用コマンド]ダイアログを開きます。
パラメーターアイコン[]をクリックすると[パラメーター]ダイアログが表示され、その再利用コマンドで使用するパラメーターを追加したり、名前を変更したりできます。
使用箇所の検索アイコン[]をクリックすると[パラメーター使用箇所の検索]ダイアログが表示され、そのパラメーターを使用している個所が一覧で表示されます。
[コマンド]ダイアログ上の[新しいコマンド]ボタン右側にある▼アイコンをクリックしてドロップダウンリストを表示し、[再利用コマンド]を選択します。
[使用する再利用コマンド]を選択し、適宜[入力パラメータ-]を設定します。