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

IM-LogicDesigner マッピング機能におけるデータ型変換について

IM-LogicDesigner ではマッピング設定で、型が異なる項目をマッピングすると暗黙的な型変換が行われます。 マッピング設定についての詳細は IM-LogicDesigner チュートリアルガ …

no image

IM-BloomMaker 入力規則エラーメッセージをカスタマイズする方法

このCookBookでは、「入力規則エラーメッセージ」エレメントに表示されるエラーメッセージをカスタマイズする方法について説明します。 intra-mart Accel Platform 2024 A …

no image

eBuilderの起動時処理のパフォーマンス改善

このCookBookでは、ローカル環境でe Builderの起動を速くするための設定を行います。 そのために、特定の機能を外して速く起動させる設定の方法について説明します。 ただし本設定を行うことによ …

BloomMakerでワークフローの添付ファイルを直接編集する画面を作成する

このCookBookでは、BloomMakerで、ワークフローの添付ファイルを直接追加や削除する画面を作成してみました。 本稿で紹介のサンプルのように、BloomMakerを利用することで、ちょっとし …

no image

Web API Maker を利用した API の作成方法

この CookBook では、Web API Maker を利用した API の作成方法 について紹介しています。 Web API Maker を利用したプログラミングは intra-mart Acc …