【发布时间】:2020-05-15 03:21:17
【问题描述】:
我在 Google 工作表上有一个仪表板,里面分布着各种复选框。
使用查找和替换功能,您可以将 TRUE 更改为 FALSE 以取消选中复选框。 我正在尝试使用脚本来做到这一点。这是我所拥有的:
function Refresh() {
var sh = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sh.getSheetByName("1");
var range = sheet.getRange("Y4:Y33");
var to_replace = true;
var replace_with = false;
replaceInSheet(sheet,range, to_replace, replace_with);
}
function replaceInSheet(sheet, range, to_replace, replace_with) {
//Confirm
var ui = SpreadsheetApp.getUi();
var spread = SpreadsheetApp.getActiveSpreadsheet();
var result = ui.alert(
"Will reset sheet for new week ",
'Are you sure you want to continue?',
ui.ButtonSet.YES_NO);
// Process the user's response.
if (result == ui.Button.YES) {
// User clicked "Yes".
spread.toast("Will update " + to_replace + " to " + replace_with + " ", "ALERT");
var data = range.getValues();
var oldValue="";
var newValue="";
var cellsChanged = 0;
for (var row=0; row<data.length; row++) {
for (var item=0; item<data[row].length; item++) {
oldValue = data[row][item];
newValue = data[row][item].replace(to_replace, replace_with);
if (oldValue!=newValue)
{
cellsChanged++;
data[row][item] = newValue;
}
}
}
range.setValues(data);
spread.toast(cellsChanged + " cells changed", "STATUS");
}
else {
// User clicked "No" or X in the title bar.
spread.toast("No action taken", "ABANDONED");
}
}
如果 var to_replace 和 var replace_with 是一段文本,则没有问题。 但是,如果我像上面所做的那样尝试使其正确和错误,则会出现错误。
TypeError: 在对象 true 中找不到函数替换
我做错了什么?我知道这是一个布尔 V 字符串。
【问题讨论】:
标签: google-apps-script google-sheets