質問: 特定の行のみをuserが編集できるようにしたい またまた質問すみません。 現在、スプレッドシートをデータソースとして、従業員の住所録を作っています。 一般の従業員(user)には、以下の権限を与えたいと考えています。 1全従業員のデータの閲覧 2自分のデータ(行)の編集 しかし、2の実現方法が分からず困っています。 「are updates allowed?」のexpression assistantでは、「 this formula is not evaluated in the context of a row, so column values are not available. 」と書いており、行の値を使うことができません。 2の実現方法を教えてください。 よろしく言お願い致します。
回答: このケースですと、tableベースの設定ではなく、row (行)単位の設定が必要となります。ここで、「自分のデータ(行)」か否かの認定を行うためには、そのテーブルに「email」のアドレスを保存しているfieldが必要となります。従業員の住所録、のテーブルですが、eamilのアドレスの項目はありますか?無い場合はfieldsの新設とデータの入力を行ってください。 その際、そこに入力されるemailアドレスはアップシートのアプリのユーザーとして登録する際に利用されるメールアドレスとして下さい。 例えば、 郵便番号 住所1 住所2 電話番号 email といったfieldsあるとします。 それぞれのfieldの設定に入り editifの項目にappsheetのexpressionを入力します。expressionは極めて簡単で [_thisrow].[email]=useremail() もしくは単に [email]=useremail() \n でもokeyです。 useremail()という関数はログインしているユーザーのメールアドレスを返します。そのemailアドレスのvalueがその行に保存されているemailの値と同じ、つまりは「自分の行」が正の場合のみeditableなるわけです。この関数がfalseである場合は逆に編集が出来ず、結果閲覧のみ。 入力制限をしたいfields、項目すべてにこのeditifの条件を設定してください。