GASを使って、SpreadSheet上のテーブルデータを取得し、セルにプルダウン形式で出力するプログラムです。
GAS上で実行した時にはうまく動作するのですが、SpreadSheet上で「=myFunction()」のように関数を動作させると以下のエラーが生じます。
Exception: You do not have permission to call setDataValidation(行 15)が発生しました。
権限がないとのことなので、appsscript.jsonに以下のコードを追加しましたが、変わらずエラーが生じます。
"oauthScopes": ["https://www.googleapis.com/auth/spreadsheets.currentonly", "https://www.googleapis.com/auth/spreadsheets","https://www.googleapis.com/auth/script.container.ui"],
どのようにしたら良いでしょうか?
以下コードです。
function myFunction() {
var sheetName = 'シート1';
// テーブルの値を取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var values = sheet.getDataRange().getValues();
// 入力規則を作成
var rule = SpreadsheetApp.newDataValidation().requireValueInList(values).build();
//リストをセットするセル範囲を取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var cell = sheet.getRange('D1');
//セルに入力規則をセット
cell.setDataValidation(rule);
}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/04 02:12