Google apps script Google Sheets脚本挂起在getRange上

Google apps script Google Sheets脚本挂起在getRange上,google-apps-script,Google Apps Script,更新后: 您好,最后问题似乎与getvalue()本身无关,而是与源有关,源是由IMPORTRANGE公式导入的范围。这个公式有问题。我真的不知道为什么,但我认为这与电子表格的大小有关。我没能核实这一点。我试图下载这个文件,但没有成功。最后,我建立了一个新的电子表格。现在看来一切正常。但我还是想知道下一次发生了什么,以了解如何避免它。 无论如何,谢谢你的帮助 原职: 我在GAS中遇到getRange函数问题。这是一个非常简单的代码,在出现问题(我不知道是什么)然后开始失败之前,它一直正常工作。我

更新后: 您好,最后问题似乎与getvalue()本身无关,而是与源有关,源是由IMPORTRANGE公式导入的范围。这个公式有问题。我真的不知道为什么,但我认为这与电子表格的大小有关。我没能核实这一点。我试图下载这个文件,但没有成功。最后,我建立了一个新的电子表格。现在看来一切正常。但我还是想知道下一次发生了什么,以了解如何避免它。 无论如何,谢谢你的帮助

原职:

我在GAS中遇到getRange函数问题。这是一个非常简单的代码,在出现问题(我不知道是什么)然后开始失败之前,它一直正常工作。我只是想从一个单元格中收集一个日期值,然后用它来创建一封电子邮件

我试图通过Logger和vars一步一步地调试代码,但我很难弄清楚当我试图从相应的monocell范围中获取值时会发生什么

以下是我目前正在尝试的代码:

// Retreive email receipts from Form submitted choice

function EmailUpdatefromForm()
{

  var spreadsheet = SpreadsheetApp.openById("1ImOXXXXXxSDz8AqjMWtuSPtg7xMejqPpHQ9vwDnY"); 

  var form = FormApp.getActiveForm();
  var formResponses = form.getResponses();

  var formlength = formResponses.length;
  Logger.log(formlength);

    var formResponse = formResponses[formResponses.length-1];
    var itemResponses = formResponse.getItemResponses();

    var itemlength = itemResponses.length;
    Logger.log(itemlength);    

    for (var j = 0; j < itemResponses.length; j++) {
      var itemResponse = itemResponses[j];
      var emailto = itemResponse.getResponse();
      Logger.log(itemResponse+" - "+emailto);
    }

  var email = (emailto? emailto[0] : "xxxxxxxxxxs@xxxxxxx.com");
  var sheet = spreadsheet.getSheetByName("report");

  var log1 = spreadsheet.getId(); //--> THIS CHECKPOINT WORKS AND GETS THE PROPER SS ID
  var log2 = sheet.getSheetId(); //--> THIS CHECKPOINT WORKS AND GETS THE PROPER SHEET ID
  var log3 = sheet.getRange(2, 1) //--> THIS CHECKPOINT WORKS ALTHOUGH I CANNOT SEE IF IT IS ACTUALLY POINTING TO THE PROPER CELL

  var log4 = sheet.getRange(2, 1).getValues(); //--> THIS CHECKPOINT GETS STUCK\\


  var updatedate = sheet.getRange(2,1).getValue(); //--> THIS IS WHAT I REALLY WANT TO DO
  var PDFdate = Utilities.formatDate(updatedate, "GMT+1", "yyyyMMdd")

}
//从表单提交选项中检索电子邮件收据
函数EmailUpdatefromForm()
{
var电子表格=SpreadsheetApp.openById(“1ImOXXXXXxSDz8AqjMWtuSPtg7xMejqPpHQ9vwDnY”);
var form=FormApp.getActiveForm();
var formResponses=form.getResponses();
var formlength=formResponses.length;
Logger.log(formlength);
var formResponse=formResponses[formResponses.length-1];
var itemResponses=formResponse.getItemResponses();
var itemlength=itemResponses.length;
Logger.log(itemlength);
对于(var j=0;j此检查点工作并获取正确的SS ID
var log2=sheet.getSheetId();//-->此检查点工作并获取正确的工作表ID
var log3=sheet.getRange(2,1)/-->此检查点有效,尽管我看不出它是否实际指向正确的单元格
var log4=sheet.getRange(2,1).getValues();//-->此检查点被卡住\\
var updatedate=sheet.getRange(2,1).getValue();//-->这就是我真正想要做的
var PDFdate=Utilities.formatDate(updatedate,“GMT+1”,“yyyyMMdd”)
}
我发现有几篇文章提到了getRange的问题,但我没有发现任何回应真正澄清这里发生了什么以及如何扭转局面

提前感谢您的支持


函数EmailUpdatefromForm(){
var电子表格=SpreadsheetApp.openById(“1ImOXXXXXxSDz8AqjMWtuSPtg7xMejqPpHQ9vwDnY”);
var form=FormApp.getActiveForm();
var formResponses=form.getResponses();
var formlength=formResponses.length;
Logger.log(formlength);
var formResponse=formResponses[formResponses.length-1];
var itemResponses=formResponse.getItemResponses();
var itemlength=itemResponses.length;
Logger.log(itemlength);
对于(var j=0;j
函数EmailUpdatefromForm(){
var电子表格=SpreadsheetApp.openById(“1ImOXXXXXxSDz8AqjMWtuSPtg7xMejqPpHQ9vwDnY”);
var form=FormApp.getActiveForm();
var formResponses=form.getResponses();
var formlength=formResponses.length;
Logger.log(formlength);
var formResponse=formResponses[formResponses.length-1];
var itemResponses=formResponse.getItemResponses();
var itemlength=itemResponses.length;
Logger.log(itemlength);
对于(var j=0;j
您是否尝试将其调用到其他单元格,如果调用失败,是否可以显示经过消毒的工作表版本?还有,它有多大?谢谢。后更新。问题似乎消失了,最后不是getvalue()问题。那么这个问题不再影响您了吗?就我创建了一个全新的电子表格而言,它还没有以前的版本那么大,答案是不,问题不再影响我了。谢谢。你试过把它打到另一个手机上吗?如果也失败了,你能给我看一张经过消毒的床单吗?还有,它有多大?谢谢。后更新。问题似乎消失了,最后不是getvalue()问题。那么这个问题不再影响您了吗?就我创建了一个全新的电子表格而言,它还没有以前的版本那么大,答案是不,问题不再影响我了。非常感谢。
function EmailUpdatefromForm() {
  var spreadsheet = SpreadsheetApp.openById("1ImOXXXXXxSDz8AqjMWtuSPtg7xMejqPpHQ9vwDnY"); 
  var form = FormApp.getActiveForm();
  var formResponses = form.getResponses();
  var formlength = formResponses.length;
  Logger.log(formlength);
  var formResponse = formResponses[formResponses.length-1];
  var itemResponses = formResponse.getItemResponses();
  var itemlength = itemResponses.length;
  Logger.log(itemlength);    
  for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j];
    var emailto = itemResponse.getResponse();
    Logger.log(itemResponse+" - "+emailto);
  }
  var email = (emailto? emailto[0] : "xxxxxxxxxxs@xxxxxxx.com");
  var sheet = spreadsheet.getSheetByName("report");
  var log1 = spreadsheet.getId();
  var log2 = sheet.getSheetId();
  var log3 = sheet.getRange(2, 1);
  var log4 = log3.getValue();
  var updatedate = log4;
  var PDFdate = Utilities.formatDate(updatedate, "GMT+1", "yyyyMMdd")
}