【发布时间】:2020-12-09 08:46:51
【问题描述】:
当我更改源工作表中一个单元格的值时,我试图将数据从一张工作表复制到另一张工作表。我在编辑特定单元格时尝试触发的其他脚本也有这个问题,不知道我做错了什么。
我在这里 (Google Apps Script - Copy data to different worksheet and append) 找到了这段代码,当我手动运行它时它运行良好,但是当我包装它时,编辑一个单元格时似乎什么都没有发生,见下文。
if (e.range.getA1Notation() === 'C1'){
var sss = SpreadsheetApp.openById('1ws8yg5_1k4ZZN2amfZ-cNvY-hUMUDGhbwnNPCGJhlAY'); //replace with source ID
var ss = sss.getSheetByName('export');
var range = ss.getRange('B3:C8');
var data = range.getValues();
var tss = SpreadsheetApp.openById('152JxdVi6Ssqz2ZZ65yDW5p5m0PnP63vApNgfP3jS_Pc'); //replace with destination ID
var ts = tss.getSheetByName('import'); //replace with destination Sheet tab name
ts.getRange(1, 2, 6,2).setValues(data); //you will need to define the size of the copied data see getRange()
}
}
源表: https://docs.google.com/spreadsheets/d/1ws8yg5_1k4ZZN2amfZ-cNvY-hUMUDGhbwnNPCGJhlAY/edit#gid=0
目的地表: https://docs.google.com/spreadsheets/d/152JxdVi6Ssqz2ZZ65yDW5p5m0PnP63vApNgfP3jS_Pc/edit#gid=0
我也尝试创建一个新触发器,如下所示:
function createOnEditTrigger() {
var ss = SpreadsheetApp.openById(targetSpreadsheetID);
ScriptApp.newTrigger("CopyRange")
.forSpreadsheet(ss)
.onEdit()
.create();
}
但什么都没有发生。
【问题讨论】:
标签: google-apps-script google-sheets triggers