该程序除了获取一行数据之外完美工作。它总是抓住一个空白集。任何人都能看到我失踪的东西?复制和粘贴一个愚蠢的行应该很简单。.getValues()无法正常工作,如果按公式创建的值Google Apps脚本
我需要从编辑的行中抓取D:BA中的数据。接下来,删除创建数据的公式,然后将保存的数据粘贴回行中,以便我可以对其进行自定义。
function onEdit(e) {
if(e.range.columnStart != 1 ||
e.source.getActiveSheet().getName() != "Loads")
/*e.source.getActiveSheet().getName() != "Loads") ||
e.range.rowStart != 9 || e.range.columnStart != 1 ||
e.range.rowEnd != 53 ||
e.range.columnEnd != 1*/
){
return;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Loads");
var arr = [];
var r = e.range.getRow();
var cell1 = sheet.getRange(r,1);
var cell2 = sheet.getRange(r,2);
var lastColumn = sheet.getLastColumn();
var row = sheet.getRange(r,4,49,49);
var value = e.value;
var arr = [];
// get cell 2
var cell2value = cell2.getValue();
// delete cell
cell2.clear();
//paste formula
cell2.setFormula('=split(REGEXREPLACE(A'+r+',\",\",\", \"),\",\",true)');
// copy row r,3,1,40
//var row2 = sheet.getRange(r,4,1,10);
var rowValues = row.getValues();
//push row values to array
arr.push(rowValues);
// clear e.range
cell1.clear();
// delete cell
cell2.clear();
// paste cell
//cell2.setValue(cell2value);
// paste row
row.setValues(arr);
}
};
第一印象:你确定它一直在运行吗?你的'if()'条件没有'else',所以如果它是真的,它会调用'return'并且什么也不给你,如果条件计算结果为false,没有什么可执行的。 –