1
私は、あるスプレッドシートの変更を検出し、同じ正確なセル位置の別のスプレッドシートにコピーする機能を持っています。私はまず、sheetAPIで提供されているonEdit(e)関数を使ってこれを実行しようとしましたが、組み込み関数から新しいスプレッドシートを開く権限がないというエラーが発生し続けました。私は自分のトリガーを設定しようとしましたが、OnEditトリガーをその関数に割り当てたとしてもアクティブになりません。oneditトリガーがインストールされていない
function ChangeDetect(e){
var range = e.range
var esheet = SpreadsheetApp.getActiveSheet()
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheets()[1];
// literally, if the edit was made in the first sheet of the spreadsheet, do the following:
if (esheet.getIndex() == ss.getSheets()[0].getIndex()){
var numrows = range.getNumRows();
var numcols = range.getNumColumns();
for (var i = 1; i <= numrows; i++) {
for (var j = 1; j <= numcols; j++) {
var currentValue = range.getCell(i,j).getValue();
var cellRow = range.getCell(i,j).getRow();
var cellCol = range.getCell(i,j).getColumn();
var ss3 = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1K2ifzjPTATH77tV4xInh0Ga2SuPsLdgNRSbekjDx-w8/edit#gid=0')
var sheet3 = ss3.getSheets()[0];
sheet3.getRange(cellRow,cellCol).setValue(currentValue)
}
}
}
}
トリガを作成するのではなく、onEdit(e)トリガを使用することをお勧めします。 'onEdit'トリガを使ってみると、ここにエラーを投稿してください。 –