【发布时间】:2018-03-27 09:32:42
【问题描述】:
我有以下脚本(1 年前实施的第一个脚本)将行从 1 个工作表移动到另一个工作表(在 google 工作表/工作簿中)。问题是它不带 cmets。有谁知道我如何在工作表到工作表的转换中包含任何未解决的 cmets?
var objSettings = {
sheets : ['CHECK', 'STAGE2', 'READY', 'SCHEDULED', 'ARCHIVE', 'WASTE'],
shActive : [1, 1, 1, 1, 1, 1],
column : 1,} function onEdit(e) {try{var sh = e.range.getSheet();if (e.range.getNumRows() == 1 && e.range.getNumColumns() == 1 && e.range.getColumn() == objSettings.column) {
var sheetName = '';
for (var i = 0; i < objSettings.sheets.length; i++) {
if (objSettings.sheets[i] == sh.getName().trim().toUpperCase()) {
if (objSettings.shActive[i] == 1) {
Logger.log(('' + e.value).trim().toUpperCase() );
Logger.log(sh.getName().trim().toUpperCase());
if (('' + e.value).trim().toUpperCase() != sh.getName().trim().toUpperCase()) {
var shDest = e.source.getSheetByName(e.value);
if (!(shDest)) {
var shDest = e.source.getSheetByName(('' + e.value).trim().toProperCase());
}
if (!(shDest)) {
var shDest = e.source.getSheetByName(('' + e.value).trim().toLowerCase());
}
if (!(shDest)) {
var shDest = e.source.getSheetByName(('' + e.value).trim().toUpperCase());
}
Logger.log(shDest);
if (shDest) {
var currRow = e.range.getRow();
var dataDest = shDest.getDataRange().getValues();
for (var j = 3; j < dataDest.length; j++) {
if (('' + dataDest[j][objSettings.column - 1]).length == 0) {
break;
}
}
var lastRow = j;
for (var k = 0; k < objSettings.sheets.length; k++) {
if (('' + e.value).trim().toUpperCase() == objSettings.sheets[k]) {
var type = objSettings.shActive[k];
break;
}
}
var dataR = sh.getRange(currRow, 1, 1, sh.getLastColumn()).getValues();
if (type == 1) {
shDest.getRange(lastRow + 1, 1, 1, dataR[0].length).setValues(dataR);
} else {
var dataR0 = dataR[0];
dataR0.shift();
shDest.getRange(lastRow + 1, 1, 1, dataR[0].length).setValues([dataR0]);
}
sh.deleteRow(currRow);
Logger.log(currRow);
Logger.log(lastRow + 1);
Logger.log(type);
sh.getParent().toast('The row has been moved!', 'Info');
}
}
}
break;
}
}
}}catch(e){
SpreadsheetApp.getUi().alert(e); } }
或者,如果您认为有更好更稳定的方法来完成此任务,请告诉我。
【问题讨论】:
标签: google-apps-script google-sheets