2016-07-14 8 views
0

https://developers.google.com/apps-script/guides/boundアクセス - バインドスクリプトのドキュメントからのGoogleスプレッドシートにバインドされたスクリプト

「スプレッドシート、ドキュメント、またはフォームを編集する権限を持つユーザーだけが、その結合スクリプトを実行できる唯一持っている共同研究。ビューのアクセスはスクリプトエディタを開くことはできませんが、親ファイルのコピーを作成すると、コピーの所有者になり、スクリプトのコピーを表示して実行することができます。

この機能は一部制限されています。私は、複数のユーザーが使用する大きなシートを作成しました。私は、スクリプトを読み込み専用アクセスユーザーが実行可能にする必要があります。私が作成したスクリプトはドキュメントに変更を加えていないので、ユーザーのアクセスレベルに影響を与えるべきではありません。

  • 管理者はドキュメントへの編集アクセス権を持っています。彼らはすべての計算/構成セル/シートにアクセスできます。
  • 管理者には、ドキュメントへの編集権限があります。マネージャはほとんどのセル/シートに対して編集アクセス権を持っています。マネージャタスクはセルを更新することです
  • 残りのすべてのユーザーには、そのドキュメントに対する読み取り専用アクセスしかありません。彼らは細胞と自動計算を見ることができます。

セルの列が多すぎるため、ボタンを作成して(最終的にはonOpenに移動して)、特定のセルに簡単に移動できます。これは、今日の日付に基づいて動的に行われます。 これは、管理者と管理者(編集アクセス権を持つ)には正常に機能していますが、読み取り専用アクセス権を持つ残りのユーザーは利用できません。

これに対応する方法はありますか?

おかげ

答えて

1

残念ながらありません。あなたは端の場合です。 GASの全体的なポイントは、ツールを提供しながら編集を簡単にすることです。 Googleドキュメント/スプレッドシート/ etc。通常はそれを操作するのは難しくありません。

ただし、視聴者にスプレッドシートの特定の部分を見せても編集しないようにするには、スタンドアロンスクリプトを作成してみてください。スプレッドシートのIDを使用してスプレッドシートからデータを取り出し、それをHTMLページ、表またはリストに投影します。

0

私はEvSunWoodと同意しますが、私はやや異なる方法で作業を進めていきます。メインシートへの読み取り専用アクセスをユーザーに与えることができます。そして、コードに添付された別のシートに完全にアクセスできるようにします。onOpenはオリジナルから最新のデータをすべて更新し、適切な行にナビゲートします。

+0

ユーザーは、コピーを変更してもメインに何もしないことを理解する必要があります。本当にこれを強制する必要がある場合は、マスター上の値と一致するようにすべての値をリセットするonEditを設定することができます彼らが何かを変えようとする場合に備えて。 – phollingdrake

0

私もthis answerと同意しますが、表示のみのユーザーにスクリプトを実行させることはできませんが、スクリプトを使用して編集したデータを上書きするのではなく、sheets/range protectionを使用することをお勧めします。ほぼ同じ時間に同じファイルを開く複数のユーザーによって引き起こされた "衝突の変更"によるオープントリガーについて説明します。

関連する問題