Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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/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
Javascript 让google sheets在多个列中自动更新时间有点麻烦吗_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 让google sheets在多个列中自动更新时间有点麻烦吗

Javascript 让google sheets在多个列中自动更新时间有点麻烦吗,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,这段代码有点问题。这意味着自动输入2个特定列中的单元格更新到单元格右侧的时间。它只为编辑时被触发的一个单元格使用脚本,但在我将它们放入函数中时不使用脚本,因此我可以同时运行多个单元格 function onEdit(e){ myFunction1(); myFunction2(); } function myFunction1() { var sheet = e.source.getActiveSheet(); if (sheet.getName() == "Dispatch Log

这段代码有点问题。这意味着自动输入2个特定列中的单元格更新到单元格右侧的时间。它只为编辑时被触发的一个单元格使用脚本,但在我将它们放入函数中时不使用脚本,因此我可以同时运行多个单元格

function onEdit(e){
 myFunction1();
 myFunction2();
}
function myFunction1()
{
  var sheet = e.source.getActiveSheet();
  if (sheet.getName() == "Dispatch Log")
  {
    var actRng = sheet.getActiveRange();
    var editColumn = actRng.getColumn();
    var rowIndex = actRng.getRowIndex();
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
    var dateCol = headers[0].indexOf("Time Dispatched") + 1;
    var orderCol = headers[0].indexOf("Dispatched to Location") + 1;
    if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
    {
      sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM-dd-yyyy hh:mm"));
    }
  }
}
function myFunction2()
{
  var sheet = e.source.getActiveSheet();
  if (sheet.getName() == "Dispatch Log") 
  {
    var actRng = sheet.getActiveRange();
    var editColumn = actRng.getColumn();
    var rowIndex = actRng.getRowIndex();
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
    var dateCol = headers[0].indexOf("Time 1") + 1;
    var orderCol = headers[0].indexOf("Status 1") + 1;
    if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)
    {
      sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new Date(), "GMT-8", "MM-dd-yyyy hh:mm"));
    }
  }
}

任何帮助都将不胜感激,我对java脚本相当陌生

我认为您应该将事件
e
作为函数参数传递

function onEdit(e){
  myFunction1(e);
  myFunction2(e);
}
function myFunction1(e)
{
  ...

希望有帮助:)

提示:
下次,当您在SE上发布问题时,请同时粘贴您收到的错误消息(对于javascript,它通常会在浏览器控制台中)。与仅分析代码示例相比,它有助于更快地找到根本原因。您需要显式传递函数参数。在您首选的开发人员文档资源上查看JavaScript中的变量范围。我没有看到错误消息,只是什么都没有发生。我有点不好意思,它这么简单。这很有效,谢谢!