Javascript 让google sheets在多个列中自动更新时间有点麻烦吗
这段代码有点问题。这意味着自动输入2个特定列中的单元格更新到单元格右侧的时间。它只为编辑时被触发的一个单元格使用脚本,但在我将它们放入函数中时不使用脚本,因此我可以同时运行多个单元格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
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中的变量范围。我没有看到错误消息,只是什么都没有发生。我有点不好意思,它这么简单。这很有效,谢谢!