Что означает «ошибка инициалов оператора»? - PullRequest
0 голосов
/ 02 июля 2019

Я читаю массив данных из моего листа, обновляю элементы, а затем использую setValues ​​для повторного подключения - без удачи.Простое чтение массива и последующее немедленное использование setValues ​​для возврата прочитанных данных без каких-либо изменений приводит к той же проблеме

Я попытался отладить мой вызов и вывести данные в регистратор, чтобы проверить очевидные проблемы.Исключение строки, которая устанавливает значения, останавливает ошибку.

function GrabTimes(){
  var RailSheet = SpreadsheetApp.getActive().getSheetByName('D160 Rail Serials');
  var MaxRows = RailSheet.getMaxRows();
  var MaxColumns = RailSheet.getMaxColumns();


  var GrabData = RailSheet.getRange(1, 1, MaxRows, MaxColumns);
  //var GrabDataValues = GrabData.getValues();
  Logger.log(MaxColumns);

  var GrabDataValues = RailSheet.getDataRange().getValues();
  GrabData.setValues(GrabDataValues);

  /*
  for (var n=0;n<MaxRows;n++){
    var StartTimeValue=GrabDataValues[n][20];
    var EndTimeValue=GrabDataValues[n][21];

    if (GrabDataValues[n][1]=="TRUE" && StartTimeValue==""){
      GrabDataValues[n][20]=new Date();
    }
    if (GrabDataValues[n][18]=="TRUE" && StartTimeValue==""){
      GrabDataValues[n][21]=new Date();
    }
   }
   */
}

Я ожидал бы, что код просто захватит данные и затем разрешит их сброс по крайней мере без каких-либо изменений?Я ожидаю, что сообщение об ошибке выделит ошибочную строку, хотя оно просто сообщает о «начальной ошибке оператора».Только методом проб и ошибок мне удалось точно определить линию, помечающую проблему.

1 Ответ

2 голосов
/ 02 июля 2019

Попробуйте использовать RailSheet.getDataRange().getValues() Он получит все данные, которые есть на листе.

В качестве теста попробуйте это:

function GrabTimes(){
  var RailSheet = SpreadsheetApp.getActive().getSheetByName('D160 Rail Serials');
  var targetSheet = SpreadsheetApp.getActive().getSheetByName('target');
  var GrabData = RailSheet.getDataRange().getValues();
  targetSheet.getRange(1,1,GrabData.length,GrabData[0].length).setValues(GrabData);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...