我有一张表(电子表格b),使用脚本生成的提交按钮从源表(电子表格a)发送数据。
电子表格b使用此代码将此数据自动复制到另一个电子表格(电子表格c):
function onChange() {
var sourceSpreadsheet =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Albany");
var sourceData = sourceSpreadsheet.getRange("A1:E39").getValues();
var targetSpreadsheet = SpreadsheetApp.openById("1NRhJ-
g6s8i05XVsAZDepJlWTB1zLuiKwS7zxp66QWJE").getSheetByName("Albany");
targetSpreadsheet.getRange("A1:E39").setValues(sourceData);
}
如果对电子表格b进行了物理编辑,则此代码有效,但是当使用提交按钮将数据从电子表格a发送到电子表格b时,此代码无效。我怎样才能让它发挥作用?
(注意:我似乎没有电子表格直接转到电子表格c,因为使用电子表格的编辑器不会与电子表格c共享。)
我无法使用importrange函数,因为可能必须对电子表格c上的数据进行编辑。
答案 0 :(得分:0)
这些是onChange检测到的唯一更改类型: EDIT,INSERT_ROW,INSERT_COLUMN,REMOVE_ROW,REMOVE_COLUMN,INSERT_GRID,REMOVE_GRID,FORMAT Link
也许您可以将当前操作包装到提交按钮运行的原始函数中。
答案 1 :(得分:0)
包括按钮调用的脚本上的所有操作。
来自https://developers.google.com/apps-script/guides/triggers/events
各种Google表格特定的触发器可让脚本在电子表格中响应用户的操作。
以上意味着脚本所做的更改不会触发onchange事件。