不能将Nan转换为Class

getRange : Cannot convert Nan to Class

本文关键字:Class 转换 Nan 不能      更新时间:2023-09-26

我试过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);

quelproject 是一个参数,当我在电子表格

中调用它时,我把它像整数一样放在函数*中。

感谢您的宝贵时间

如果错误是不能将NaN转换为class,则表示变量Row或Column或两者都不是整数。你的问题来自于Row不是整数。

因为我不知道getProjectNumber()是什么,我不能完全调试,但是这个方法应该可以让你调试。

使用:Logger.log(typeof(variable_name)),这样您就可以确定问题在哪里。在定义以下变量之后,记录它们的类型:numProjects、firstLine、quelPro和row。记录器每次都应该记录"number"。如果不是这样,你就发现了自己的错误。

如果所有的结果都是"数字",有可能你的数字不是整数,因为我不知道什么getProjectNumber()返回,和getRange()函数需要整数