类型错误:无法读取未定义的属性“值”(第 37 行,文件“代码”)

我创建了一个谷歌应用程序脚本,允许我从谷歌表格中创建一些谷歌文档模板。


代码如下:


function createDocument2 () {

  var headers,i,L,scriptProps,tactics;

  var endRowToRange,rangeForDate,sh,sheetTabName,ss,ssFileID,startRowToRange,templateId;

 

  ssFileID = 'Google Sheet File ID';

  templateId = 'Google Doc Template ID';

  sheetTabName = "Google Sheet Tab Name";

  

  ss = SpreadsheetApp.openById(ssFileID);

  sh = ss.getSheetByName(sheetTabName);

  endRowToRange = sh.getLastRow(); //The end row number will always be the last row in the sheet tab

  Logger.log(endRowToRange);

  

  scriptProps = PropertiesService.getScriptProperties();

  

  startRowToRange = scriptProps.getProperty('startRow'); // Where the start row begins for this run of the code  


  /* endRowToRange = endRowToRange.toString(); //Needs to be a string to concatenate the A1 notation */

  

  startRowToRange = startRowToRange.slice(0,startRowToRange.indexOf(".")); // Remove the decimal places FROM THE STRING

  /* endRowToRange = endRowToRange.slice(0,endRowToRange.indexOf(".")); // Remove the decimal places */

  Logger.log(endRowToRange);

  

  if (!startRowToRange) {

    startRowToRange = 2;

  }


  

  rangeForDate = 'A' + startRowToRange + ":I" + endRowToRange; // Build the A1 Notation for the data range



  Logger.log('rangeForDate' + rangeForDate);

  

  // Where we fill the Google Docs template


  

  headers = sh.Spreadsheets.Values.get(ssFileID,'A1:I1');

  tactics = sh.Spreadsheets.Values.get(ssFileID,rangeForDate);


  L = tactics.values.length;

  var i;

  

  }

  

  // Loop to retreive the values processed before

  

  scriptProps.setProperty('startRow',endRowToRange + 1); // Save new start value

}

我已将此脚本复制到另一个文件夹,但它不再起作用,它说“TypeError:无法读取未定义的属性'值'(第37行,文件”代码“) - Google Apps Scrit”。


当我从初始文件夹运行它时,它工作得很好。


有人对这个问题有想法吗?



慕侠2389804
浏览 139回答 1
1回答

泛舟湖上清波郎朗

因此,您需要进行一些更改。后startRowToRange&nbsp;=&nbsp;scriptProps.getProperty('startRow');加if(endRowToRange<startRowToRange)&nbsp;return;将标题和策略更改为headers&nbsp;=&nbsp;sh.getRange('A1:I1').getValues(); tactics&nbsp;=&nbsp;sh.getRange(rangeForDate).getValues();价值观只使用战术
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript