2016-07-28 11 views
1

私はカスタム関数を使用しようとしています。GoogleシートあなたはsetDataValidationを呼び出す権限がありません

You do not have permission to call setDataValidation

をしかし、私はスクリプトエディタから実行するとき、それは完全に罰金実行します:私は、セルの上にシート内から数式としてそれを使用して実行しようとするたびに、それはエラーをスローします。スクリプトエディタからRunをクリックすることなく、それを動作させるにはどうすればいいですか?

注:トリガーを使用しないことをお勧めします。

+0

値を返す以外のセルに影響を与えようとしていますか? [Doc:戻り値](https://developers.google.com/apps-script/guides/sheets/functions#return_values) – ocordova

+0

@ocordova no。これは、式が呼び出されるセルの場合のみです。 –

+0

[Google Appsスクリプトのエラー:「あなたは通話を保護する権限がありません」]の重複している可能性があります(http://stackoverflow.com/questions/36365447/google-apps-script-error-you-do-not-have-パーミッション - コール保護) –

答えて

2

SpreadsheetAppサービスが

Ocordovaは正しい考えを持っているカスタム関数で呼び出された場合にのみ読み込まれます。 article he citedSpreadsheetAppサービスがどのように説明し...

Read only (can use most get*() methods, but not set*()) . Cannot open other spreadsheets (SpreadsheetApp.openById() or SpreadsheetApp.openByUrl()).

あなたはセルを編集できるようにしたい場合は、カスタムメニューから機能を呼び出す必要があります。

関連する問題