getRange:无法将Nan转换为Class

时间:2014-07-02 08:42:37

标签: javascript google-apps-script spreadsheet

我尝试了 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 是一个参数,当我在电子表格中调用它时,我在函数*中放入一个整数

感谢您的时间

1 个答案:

答案 0 :(得分:0)

如果错误无法将NaN转换为类,则意味着变量Row或Column或两者都不是整数。你的问题来自Row不是整数。

由于我不知道getProjectNumber()是什么,我无法完全调试,但是这种方法可以让你调试。

使用:Logger.log(typeof(variable_name)),以便您可以确定问题所在。 定义后,记录以下变量的类型:numProjects,firstLine,quelPro和row。 记录器应该记录数字&#39;每一次。如果它没有找到您的错误。

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