【发布时间】:2019-09-20 02:30:41
【问题描述】:
我正在使用 Google 应用脚本。它基于 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());
}
我只希望有真正价值的笔记......
【问题讨论】:
标签: javascript if-statement google-apps-script boolean