getRange : Не удается преобразовать Nan в Class

#javascript #google-apps-script #spreadsheet

#javascript #google-apps-script #электронная таблица

Вопрос:

Я попробовал 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. что getProjectNumber() возвращает?

Ответ №1:

Если ошибка заключается в том, что не удается преобразовать NaN в класс, это означает, что либо переменная строка, либо столбец, либо оба не являются целыми числами. Ваша проблема связана с тем, что строка не является целым числом.

Поскольку я не знаю, что такое getProjectNumber(), я не могу полностью отлаживать, но эта методология должна позволить вам отлаживать.

Используйте: Logger.log(typeof(имя_переменной)), чтобы вы могли точно определить, в чем проблема. Запишите типы следующих переменных после их определения: numProjects, firstLine, quelPro и row. регистратор должен регистрировать «число» каждый раз. Если этого не происходит, вы нашли свою ошибку.

Если все результаты являются ‘number’, возможно, что ваши числа не являются числами whoel, поскольку я не знаю, что возвращает getProjectNumber(), а функции getRange() нужны целые числа