對此問題首先表示歉意,但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行從固定點到4列的記錄集的最後一行/數據庫表(wksDB)
哪裏transposeRange
是:
function transposeRange(a)
{
return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}
錯誤是:
回調函數不支持此操作。
這裏有什麼問題?
您正在使用的調試工具,對不對?關於尋求幫助調試代碼,請看看[mcve],並看看http://stackoverflow.com/questions/32619480/debugger-fails-with-this-operation-is-not-supported-from -a回調函數 –
是的,看起來我在調試器中不允許有斷點,並且代碼實際上工作正常。 – Shortcake