此代码有点麻烦。它的意思是自动输入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脚本还是很新的
答案 0 :(得分:0)
我认为您应该将事件e
作为函数参数传递。
function onEdit(e){
myFunction1(e);
myFunction2(e);
}
function myFunction1(e)
{
...
希望它会有所帮助:)