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

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

関連記事

スプレッドシートを実行画面でExcelファイルとしてエクスポートする方法

このCookBookでは、スプレッドシートを実行画面でExcelファイルとしてエクスポートする方法について紹介しています。 IM-FormaDesignerの実行画面から直接、画面アイテム「スプレッド …

no image

デバッグサーバ起動時に出力されるコンソールの情報をファイル出力する方法

このCookBookでは、e Builder でデバッグサーバの利用時にコンソールに出力された内容を、別途指定したファイルに出力する方法について紹介しています。 完成イメージ 1. 指定したファイルに …

no image

多要素認証(MFA)のバックアップコードを生成していないユーザに通知を送る方法

この CookBook では、多要素認証のバックアップコードを生成していないユーザに通知を送る方法について紹介しています。 多要素認証では Google Authenticator を用いて認証を行い …

スケジュールにログインしている本人しか表示されない場合の対応方法

このCookBookでは「intra-mart Accel Collaboration」スケジュール機能を利用する前の注意点について紹介しています。 お客様で「intra-mart Accel Col …

no image

IM-BloomMaker トグルスイッチの使い方

このCookBookでは、2021 Summerでリリースした共通エレメント「トグルスイッチ」の利用方法と、見た目の変更方法について紹介します。 「トグルスイッチ」エレメントは機能のON・OFFを制御 …