CookBook

IM-BloomMaker スプレッドシート 特定のセルを編集できないようにするには?

投稿日:

この CookBook では intra-mart Accel Platform 2020 Winter から利用可能になった「スプレッドシート」エレメントで、特定のセルを編集できないようにする方法を紹介します。
なお「スプレッドシート」エレメントの利用には IM-Spreadsheet for Accel Platform のライセンスが必要になります。

はじめに

サンプル資材をインポートし、コンテンツ一覧画面からコンテンツ名 im_cookbook_190418 のデザイナ画面を開いてください。
サンプル資材: cookbook_190418_im_bloommaker

あらかじめ、数量と価格に入力すると合計金額を計算するテーブルを用意しています。
また、「行挿入」ボタンのクリックでテーブルに1行挿入する仕組みも用意しています。

一度プレビューで確認してみましょう。

この時点では「スプレッドシート」エレメントの sheetsEditable プロパティはデフォルトのままなのでセルの編集はできます。

1行挿入して数量と価格を入力してみましょう。

ここでは数量を2、価格を50としました。
金額と合計金額が変わったかと思います。

ただ、金額は関数で計算しているので入力する必要はないかと思います。
入力できないようにセルを保護できれば良いのですが、ピンポイントで保護することはできません。
しかし、シート全体を編集できないようにした上で編集可能なセルを指定すれば、似たようなことができます。
ここで使用するのが、シートの保護と特定のセルの保護解除の組み合わせです。
では実際に設定してみましょう。

設定方法 

  1. 「スプレッドシート」エレメントの sheetsEditable プロパティを false にします。
    これによりシートが保護され、セルの編集もできなくなります。
  2. アクションタブを開きます。
  3. 「IM-Spreadsheet」-「スプレッドシート(elementId:〇)の Workbook インスタンスを操作する。」アクションを配置します。
  4. 以下の内容を入力します。
    elementId: im-element-2
    ※elementId は「スプレッドシート」エレメントの共通プロパティのIDです。


  5. アクション名を Unprotect table にして保存します。
  6. 「スプレッドシート」エレメントの onCreateWorkbookEvent プロパティに Unprotect table アクションを設定します。
  7. プレビューで確認します。
    商品、数量、価格のみに入力でき、他のセルは編集不可になりました。
    ただしこの Unprotect table アクションは初期表示時のみにしか呼び出していないため、
    行挿入した場合は、セルが保護されたままで入力することができません。
    保護を解除するには、Insert row アクションの実行後に、Unprotect table アクションも呼び出す必要があります。

  8. アクションタブを開き、Insert Row アクションを編集します。

  9. 「標準」-「アクション〇を実行する」を配置し、Unprotect table を設定します。

    以上でアクションの設定は完了です。
    これで行挿入で増えたセルも編集できるようになりました。

-CookBook
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

e Builder から Payara を起動する方法

この CookBook では、e Builder から Payara を起動する方法について紹介しています。 レシピ External Tools を表示します。 Program を追加します。 Pr …

no image

IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(単一アイテム編)

このCookBookでは、IM-FormaDesignerで作成したフォーム画面の中で、アイテムからアイテムへ値を渡す方法について紹介します。 今回は例として、文字列と数値の値を同時にアイテムからアイ …

IM-LogicDesignerを利用して、申請日が一定期間経過した特定フローの完了案件をアーカイブする

このCookBookでは、LogicDesignerを利用して、申請日が一定期間経過した特定フローの完了案件をアーカイブする方法について紹介しています。 完成イメージ 1. サンプルのロジックフローを …

no image

ワークスペース機能におけるイベントカレンダーの利用例

このCookBookでは「intra-mart Accel Collaboration」ワークスペース機能におけるイベントカレンダーの利用例について紹介しています。 intra-mart Accel …

no image

PostgreSQL の Docker を作成する。

この CookBook では、PostgreSQL 検証用の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 PostgreSQL の Docker イメージを作成しま …

RSSRSSRSSRSS