Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 脚本从独立更改为绑定。现在显示图纸。长度未定义_Google Apps Script_Google Sheets_Typeerror - Fatal编程技术网

Google apps script 脚本从独立更改为绑定。现在显示图纸。长度未定义

Google apps script 脚本从独立更改为绑定。现在显示图纸。长度未定义,google-apps-script,google-sheets,typeerror,Google Apps Script,Google Sheets,Typeerror,我有一个独立的工作脚本,可以从Google工作表中获取值,并从模板文件中创建文档。我把它复制到一个新的谷歌表单的绑定脚本中。我所做的唯一更改是将引用从设置文档更改为活动文档/工作表。它现在抛出错误“TypeError:无法从undefined读取属性“length” 我已经记录了变量,它给了我值,所以我知道它不能是空变量。我已经返回并跟踪了权限,并确保打开了正确的API 我想一定是绑定脚本的工作方式,但我在文档中找不到区别 原始(工作)代码 函数createDocument(){ var hea

我有一个独立的工作脚本,可以从Google工作表中获取值,并从模板文件中创建文档。我把它复制到一个新的谷歌表单的绑定脚本中。我所做的唯一更改是将引用从设置文档更改为活动文档/工作表。它现在抛出错误“TypeError:无法从undefined读取属性“length”

我已经记录了变量,它给了我值,所以我知道它不能是空变量。我已经返回并跟踪了权限,并确保打开了正确的API

我想一定是绑定脚本的工作方式,但我在文档中找不到区别

原始(工作)代码

函数createDocument(){
var headers=Sheets.Spreadsheets.Values.get('17jXy9IlLt8C41tWEG5iQR31GjzOftlJs73y2L_0ZWNM','A1:Q1');
var策略=Sheets.Spreadsheets.Values.get('17jXy9IlLt8C41tWEG5iQR31GjzOftlJs73y2L_0ZWNM','A2:Q');
var templateId='16SqhR3pxm7Pk6LqSWeONFP84bYxty7g2cXcTp15qjYY';
对于(var i=0;i
复制到绑定脚本代码(抛出错误)

函数createDocument(){
var headers=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Report').getRange('A1:Q1').getValues();
var tractics=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Report').getRange('A2:Q').getValues();
var templateId='16SqhR3pxm7Pk6LqSWeONFP84bYxty7g2cXcTp15qjYY';
Logger.log(战术)
对于(var i=0;i
我希望我在Google工作表中添加到脚本中的代码能够生成与独立脚本相同的报告。相反,我得到的是“TypeError:无法从未定义中读取属性“length”。

Replace

    tactics.values.length


这就解决了.length未定义的问题,但现在循环不会自然停止,它只会在到达范围的末尾…或稍后到达电子表格150行(和文档)的底部时停止。当我将其限制为两行时,它会显示我期望的值,但第二行是一个空集:[,,,,,,,,,,,,]]@Stephen,这是因为您使用的开放引用不属于空行工作表。您可以使用类工作表中的getLastRow方法来查找最后一行,以及其他备选行。当然,您需要进一步的帮助发布mes问题,包括我返回到我的原始代码,而不是使用second示例:为了确定电子表格和范围,我回到第一个示例,将范围设置为“Autofill!A1:Q1”,这样我就可以将活动电子表格(我想要的)填入我需要它从中提取的表格(我需要的表格),并将其自我限制为仅包含数据的行。这似乎现在起作用了。
function createDocument() {
  var headers = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Report').getRange('A1:Q1').getValues();
  var tactics = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Report').getRange('A2:Q').getValues();
  var templateId = '16SqhR3pxm7Pk6LqSWeONFP84bYxty7g2cXcTp15qjYY';
  Logger.log(tactics)

  for(var i = 0; i < tactics.values.length; i++){    
    var customer = tactics.values[i][0];
    tactics.values.length
 tactics.length
var customer = tactics.values[i][0];
var customer = tactics[i][0];