【问题标题】:getRange : Cannot convert Nan to ClassgetRange :无法将 Nan 转换为 Class
【发布时间】:2014-07-02 08:42:37
【问题描述】:

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

感谢您的宝贵时间

【问题讨论】:

  • getProjectNumber() 返回什么?

标签: javascript google-apps-script spreadsheet


【解决方案1】:

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

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

使用:Logger.log(typeof(variable_name)) 以便您可以查明问题所在。 定义以下变量后记录它们的类型:numProjects、firstLine、quelPro 和 row。 记录器每次都应记录“数字”。如果没有,你就发现了你的错误。

如果所有结果都是“数字”,那么您的数字可能不是整数,因为我不知道 getProjectNumber() 返回什么,而 getRange() 函数需要整数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-18
    • 2019-10-05
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多