我找到了这段代码,但它没有像预期的那样工作。
function onOpen() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("'Feuille 1'!1:1137");//This line is most likely the culprit
var to_replace = ".";
var replace_with = ",";
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 update " + to_replace + " to " + replace_with + " ",
'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();//I think error is occurring here
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");
}
}
我收到了这个错误: TypeError:Impossible d'appelerlaméthode“getValues”de undefined。 (ligne 25,fichier“Code”)
你可以帮帮我,我是个菜鸟吗? 此致答案 0 :(得分:0)
显然这条线有一个问题:
var range = sheet.getRange("'Feuille 1'!1:1137");
范围是问题,应该是'Sheet1!A1:A1137'。
所以可能会有效:var range = sheet.getRange("'Feuille 1'!A1:A1137");
由于我看不到您的表单,您必须确定适当的范围。