我尝试了 parseInt ,但我真的不知道将它放在代码中的正确位置:
以下是代码:
function projectTime(QuelProjet) {
var tabUsers = getUsersList();
var ss = SpreadsheetApp.getActive();
var ProjectSheet = ss.getSheetByName("Liste Projets");
for (i = 1; i < 13; i++) {
//Nombre de jours du mois
var date = new Date(i + "/01/" + year);
var numProjects = getProjectNumber();
var currentMonthSheet = getSheetByMonth(tabMonth[i - 1]);
for (l = 0; l < tabUsers.length; l++) {
var firstLine = 1 + (l + 1) * 10 - 10 + (l + 1) * numProjects - numProjects;
Logger.log("Fline " + l + " : " + firstLine);
var QuelPro = parseInt(QuelProjet);
Logger.log("Quelpro : " + QuelPro);
var nbDays = getNbJours(date);
var sommeproject = 0;
var som1 = new Array(1000);
for (k = 1; k < nbDays + 1; k++) {
var Row = parseInt(firstLine + QuelPro);
Logger.log("Row : " + Row + " QuelProjet : " + QuelPro);
var Column = k + 1;
Logger.log("Column : " + Column);
var range = currentMonthSheet.getRange(Row, Column);
som1[k] = range.getValues();
//sommeproject = sommeproject + currentMonthSheet.getRange(firstLine + QuelProjet, k + 1).getValues();
}
}
}
var sommeproject = 1;
sommeproject = sommeproject + som1;
return sommeproject;
}
问题出在这一行:
var range = currentMonthSheet.getRange(Row, Column);
QuelProjet 是一个参数,当我在电子表格中调用它时,我在函数*中放入一个整数
感谢您的时间
答案 0 :(得分:0)
如果错误无法将NaN转换为类,则意味着变量Row或Column或两者都不是整数。你的问题来自Row不是整数。
由于我不知道getProjectNumber()是什么,我无法完全调试,但是这种方法可以让你调试。
使用:Logger.log(typeof(variable_name)),以便您可以确定问题所在。 定义后,记录以下变量的类型:numProjects,firstLine,quelPro和row。 记录器应该记录数字&#39;每一次。如果它没有找到您的错误。
如果所有结果都是&#39;数字&#39;你可能不知道你的数字是不是谁的数字,因为我不知道getProjectNumber()返回什么,而getRange()函数需要整数