#javascript #arrays #google-apps-script #google-sheets
#javascript #массивы #google-apps-script #google-sheets
Вопрос:
Я использую этот код, чтобы найти пустые ячейки и покрасить их фон в красный цвет. После этого я хотел бы, чтобы в предупреждении указывалось, какие строки были отмечены красным.
var blankRows = [];
for(var i=0; i<data.length;i ){
if(data[i]=="Time: Midwest- Daily Entry"){
if(data[i 1]==""){ // data contains all the cells in a column
samsara.getRange(i 2,7).setBackground("red");
blankRows[i] = i 2;
}
}
}
var ui = SpreadsheetApp.getUi();
var response = ui.alert('Extra images detected in rows' blankRows, ui.ButtonSet.OK);
Во-первых, я хотел бы, чтобы предупреждение появлялось только при наличии пустых строк, я думаю, что оператор if будет работать. Кроме того, в предупреждении отображаются «Дополнительные изображения, обнаруженные в строках ,,,,,,,,,,,,,,,,,,,79. Строка 79 имеет пустую ячейку, так что это правильно. Я предполагаю, что ,,,, из пустых ячеек в моем массиве blankRows. Как я могу заставить оповещение отображать только фактические номера строк?
Ответ №1:
Вместо
blankRows[i] = i 2;
используйте
blankRows.push(i 2);
затем замените
var response = ui.alert('Extra images detected in rows' blankRows, ui.ButtonSet.OK);
Автор:
var response = ui.alert('Extra images detected in rows' blankRows.join(', '), ui.ButtonSet.OK);
Ответ №2:
Возможно, лучше всего создать диапазон для пустых ячеек и использовать getRow()
(https://developers.google.com/apps-script/reference/spreadsheet/range#getrow ). Вот что я придумал (возможно, вам потребуется настроить это, поскольку мои компьютеры старые, но вы поняли идею):
var blankRows = [];
for(var i=0; i<data.length;i ){
if(data[i]=="Time: Midwest- Daily Entry"){
if(data[i 1]==""){ // data contains all the cells in a column
samsara.getRange(i 2,7).setBackground("red");
blankRows[i] = i 2;
}
}
}
var ui = SpreadsheetApp.getUi();
var range = sheet.getRange("A1:D10");
var cells = range.insertCells(SpreadsheetApp.Dimension.COLUMNS);
var blank = cells.getRow()
var response = ui.alert('Extra images detected in rows' blank )
информация о приложении SpreadsheetApp.Dimension