【发布时间】:2016-03-10 16:49:34
【问题描述】:
首先为这个问题道歉,但 GAS 对我来说是一种新语法。 我想做一些在 VBA 语法中很简单但在 GAS 中没有的东西。
我想在不同的工作表上将一个命名范围转换为另一个命名范围(例如,从 4 行到 4 列)。网络上有使用 .getDataRange() 的示例,但我希望使用固定的命名范围,无论其中是否包含数据。
我正在使用的语法如下:
var wksInput = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('New');
var wksDB = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Database');
var intDBNewRow = wksDB.getLastRow() + 1;
wksDB.getRange(intDBNewRow, wksDB.getRange('dbContacts').getColumn(), 1,wksDB.getRange('dbContacts').getNumColumns()).setValues(transposeRange(wksInput.getRange('frmVanContacts').getValues()));
从输入表单工作表 (wksInput) 上的固定点取 4 行到记录集/数据库工作表 (wksDB) 的最后一行的 4 列
transposeRange 在哪里:
function transposeRange(a)
{
return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}
错误是:
回调函数不支持此操作。
这里有什么问题?
【问题讨论】:
-
你用的是调试工具吧?关于调试代码求助,看minimal reproducible example,看stackoverflow.com/questions/32619480/…
-
是的,当时我似乎不允许在调试器中设置断点,并且代码实际上运行良好。
标签: javascript google-apps-script callback google-sheets