Я использую Google App Script.Он основан на Javascript.
Я использую функцию range.isBlank()
, которая отвечает ложным логическим значением.
Я проверил в отладке, что это ложное логическое значение.
Но с большим удивлением я обнаружил утверждение if(range.isBlank()) {...}
пройти через код ...
Я попробовал какое-то решение, найденное на сайте, включая использование ===true
.Но ничего не работает.
Чтобы воспроизвести, создайте электронную таблицу и поместите в активный лист такие данные:
| A | B | C | D | E |
1 "Larry Page" 1 2 3
2 "Larry Page" 1 2
3 "Larry Page" 1
В редакторе сценариев скопируйте приведенный ниже код и выполните функцию.
function DebugGoogle() {
var ssheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ssheet.getActiveSheet()
// Get sheet dimension
var nbRow = sheet.getMaxRows();
// Loop on the rows
for (var i=1; i<=nbRow; i++) {
// Start at the first column
var range = sheet.getRange(i, 1);
var nextRange = sheet.getRange(i, range.getLastColumn()+1);
if (nextRange.isBlank()); {
nextRange.setNote(nextRange.isBlank());
}
// Go right As long as the next right cell is not empty
while (!(nextRange.isBlank())) {
range = nextRange;
nextRange = sheet.getRange(i, range.getLastColumn()+1);
if (nextRange.isBlank()); {
nextRange.setNote(nextRange.isBlank());
}
}
}
}
Я ожидаю заметку только в первой пустой ячейке каждой строки.D для строки 1, C для строки 2, B для строки 3. Вместо этого у меня также есть примечание для непустых ячеек.Что странно, потому что примечание является «ложным», но оператор if вводит ...
if (nextRange.isBlank()); {
nextRange.setNote(nextRange.isBlank());
}
Я ожидал только примечание с истинным значением ...