Ошибка getRange(«текст) — диапазон не найден, даже если значение находится в массиве

#google-apps-script

Вопрос:

Я ищу значение в электронной таблице Google, чтобы получить его строку. Он работал в простой версии, но по какой-то причине сейчас вообще не может найти диапазон. Я проверил, есть ли значения, но по какой-то причине getRange("course") не могу их найти.

журнал ошибок

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

 function myFunction() {
  // get IDs
  var docTemplateID = "1R9qfWw2zwyseIgBiNonHJPArHCN6cbs50JPMQ7lUFiA";
  var docOutputID = "1Yk49ZE0IQRjz5hP7zqm-aSy8Ph6r8N3Fole9lKqQUro";
  var wsID = "1D-ahdZJGo66g6VbUYkWmC8nk7xNroXa-Fty-7jUIBV0";

  // Open docs
  var docTemplate = DocumentApp.openById(docTemplateID);
  var docFinal = DocumentApp.openById(docOutputID);

  // Open sheet in spreadsheet
  var ws = SpreadsheetApp.openById(wsID).getSheetByName("AdPhoto4_2");
  // Put values in array
  var data = ws.getDataRange().getValues();
  Logger.log(data);


  //find column by name
  var mainInfo = data[0].indexOf("info");
  var assTask = data[0].indexOf("assTask");



  // get main info
  var rCourse = ws.getRange('course').getRow(); //ERROR STARTS HERE
  var myCourse = data[rCourse][mainInfo];

  var rUnits = ws.getRange("units").getRow();
  var myUnits = data[rUnits][mainInfo];

  var rYear = ws.getRange("year").getRow();
  var myYear = data[rYear][mainInfo];

  var rPrepname = ws.getRange("prepname").getRow();
  var myPrepname = data[rPrepname][mainInfo];

  var rDatecreated = ws.getRange("datecreated").getRow();
  var myDatecreated = data[rDatecreated][mainInfo];

  var rVersion = ws.getRange("version").getRow();
  var myVersion = data[rVersion][mainInfo];

  var rIntro = ws.getRange("intro").getRow();
  var myIntro = data[rIntro][mainInfo];

  var rStaff1 = ws.getRange("staff1").getRow();
  var myStaff1 = data[rStaff1][mainInfo];

  var rStaff2 = ws.getRange("staff2").getRow();
  var myStaff2 = data[rStaff2][mainInfo];


  // find how many paragraphs in template
  var templateP = docTemplate.getBody().getParagraphs();
  // clear doc before adding text
  docFinal.getBody().clear();
  // apply merge
  myMerge(myCourse, myUnits, myYear, myPrepname, myDatecreated, myVersion, myIntro, myStaff1, myStaff2);

}
// function to add text and replace with values
function myMerge(myCourse, myUnits, myYear, myPrepname, myDatecreated, myVersion, myIntro, myStaff1, myStaff2) {

  templateP.forEach(function(p) {
    docFinal.getBody().appendParagraph(
      p
      .copy()
      .replaceText("{course}", myCourse)
      .replaceText("{units}", myUnits)
      .replaceText("{year}", myYear)
      .replaceText("{prepname}", myPrepname)
      .replaceText("{datecreated}", myDatecreated)
      .replaceText("{version}", myVersion)
      .replaceText("{staff1}", myStaff1)
      .replaceText("{staff1}", myStaff2)


    )
  });

}
 

Комментарии:

1. Вы используете именованный диапазон, чтобы получить диапазон, в котором находится ошибка?