Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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_Triggers_Google Apps Script Editor - Fatal编程技术网

Google apps script 错误仅在应用程序脚本编辑器中运行脚本时出现

Google apps script 错误仅在应用程序脚本编辑器中运行脚本时出现,google-apps-script,google-sheets,triggers,google-apps-script-editor,Google Apps Script,Google Sheets,Triggers,Google Apps Script Editor,我正在尝试运行一个脚本,每当在具有多张工作表的电子表格的E列中输入或更改数据时,该脚本会自动填充F列中的日期 我目前有一个脚本,它是根据我所描述的内容为我编写的,但我得到了一个错误代码。我回到我原来的问题,解释说这个脚本需要在一个包含多个工作表的电子表格中的单个工作表上运行。他给了我一些额外的信息,但这是他最后的回答“是的,您需要将event.source.getActiveSheet()替换为类似“getsheetbyname”的内容。我已经尝试了我有限知识范围内的所有方法来处理他给我的内容,

我正在尝试运行一个脚本,每当在具有多张工作表的电子表格的E列中输入或更改数据时,该脚本会自动填充F列中的日期

我目前有一个脚本,它是根据我所描述的内容为我编写的,但我得到了一个错误代码。我回到我原来的问题,解释说这个脚本需要在一个包含多个工作表的电子表格中的单个工作表上运行。他给了我一些额外的信息,但这是他最后的回答“是的,您需要将
event.source.getActiveSheet()
替换为类似“getsheetbyname”的内容。我已经尝试了我有限知识范围内的所有方法来处理他给我的内容,但无论我如何尝试,仍然会收到错误代码

这是给我错误的区域

var sheet = event.source.getsheetbyname();
这是我收到的错误代码

TypeError:无法从未定义中读取属性“源”。(第2行,文件“代码”)

我知道需要有我希望脚本在其上运行的工作表的名称,但我不知道如何对其进行编码。工作表的名称为“青少年权重”

预期结果应该是当我添加或更改E列中的数据时,它应该自动将当前日期填充到相邻列中的相邻单元格中

当我保存脚本并运行脚本以确保其正常工作时,当然,它会给我上面描述的错误代码。然后,当我在保存脚本后返回该工作表而不是自动填充日期时,现在当我高亮显示一行中的一串单元格时,它会将以下所有单元格更改为我在我开始突出显示的第一个单元格。非常奇怪

脚本+错误代码:

守则:

function onEdit(event) { 
  var sheet = event.source.getActiveSheet();

  // note: actRng = the cell being updated
  var actRng = event.source.getActiveRange();
  var index = actRng.getRowIndex();
  var cindex = actRng.getColumnIndex();

  if (cindex == 5) { // 1 == Column A, 2 == Column B, 3 == Column C, etc.
   var dateCol = sheet.getLastColumn();  
   var lastCell = sheet.getRange(index,dateCol);
   var date = Utilities.formatDate(new Date(), "EST", "MMM-dd-yyyy");
   lastCell.setValue("'" + date);
  }
}

您不使用SpreadsheetApp.getActiveSheet().getSheetByName(“青少年权重”);

有什么原因吗我相信这也会起到同样的作用:

function onEdit(e) { 
  var sheet = e.range.getSheet();
  if (e.range.columnStart == 5) {
    sheet.getRange(e.range.rowStart,sheet.getLastColumn()).setValue("'" + Utilities.formatDate(new Date(), "EST", "MMM-dd-yyyy HH:mm:ss"));
  }
}

如果不提供事件对象,则无法从脚本编辑器运行此函数。问题是,脚本可能重复。他给了我一个脚本,该脚本可以单独用于一张工作表。我想在具有多张工作表的电子表格中使用它,我无法复制该脚本并将其从原始工作表转移到我想要的工作表中使用它。单独使用它可以很好地工作,但是将它与我需要的工作表一起使用,它完全没有任何作用。这就是为什么我仍然在这里寻求帮助。如果你在回答“代码:"这将适用于所有工作表,它的功能与我的相同,只是我喜欢尽可能利用事件块中的数据来节省时间,因为此代码必须在30秒内运行。请记住,此代码仅在用户对EIt列中的内容进行物理编辑时才运行错误代码
TypeError:在对象工作表中找不到函数getSheetByName。(第2行,文件“Code”)您是如何运行它的?您正在运行的代码与您问题中的代码相同吗?我使用@J.G.通过```SpreadsheetApp.getActiveSheet().getSheetByName(“青少年权重”)给我的代码进行了尝试;我只是想让你知道我能让它工作@Cooper所以谢谢你在这方面的帮助。请勾选一个答案。你的选择。