I'm building a simple sheet, on Google Sheets, to control some tasks and to make it a bit better I'm using Script Editor.
The basic idea is to automatically set values like date and time into specific columns so users doesn't need to put that value by themselves, but when I want to show a "Browser.Inputbox" the script isn't working after "If" statement.
Can you help me?
function onEdit(evt){
//Returns actual sheet
var activeSheet = SpreadsheetApp.getActiveSheet();
//Returns changed object
var altRange = evt.range;
//Returns changed column
var altCol = altRange.getColumn();
//Returns the name of changed column
var colName = activeSheet.getRange(1, altCol).getValue();
//Get new and old values
var oldVal = evt.oldValue;
var newVal = evt.value;
if(colName=="Status"){
if(oldVal != newVal){
switch(newVal){
// If value equals "New" system will do something
case "New":
onNew(altRange.getRow());
break;
case "Comited":
onComit(altRange.getRow());
break;
case "Done":
onDone(altRange.getRow());
break;
case "Paused":
Logger.log("Paused");
break;
}
}
}
}
function onNew(row){
var activeSheet = SpreadsheetApp.getActiveSheet();
var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy");
var inputBox = Browser.inputBox("Insert something",Browser.Buttons.OK_CANCEL);
//Set entering date
activeSheet.getRange(row, 2).setValue(date);
//Set focus on "Número RAT"
activeSheet.getRange(row, 9).activate();
}
function onComit(row){
var activeSheet = SpreadsheetApp.getActiveSheet();
var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy");
var time = Utilities.formatDate(new Date(), "GMT-3", "HH:mm");
//Set starting date and time
activeSheet.getRange(row, 3).setValue(date);
activeSheet.getRange(row, 5).setValue(time);
}
function onDone(row){
var activeSheet = SpreadsheetApp.getActiveSheet();
var date = Utilities.formatDate(new Date(), "GMT-3", "dd/MM/yyyy");
var time = Utilities.formatDate(new Date(), "GMT-3", "HH:mm");
//Set starting date and time
activeSheet.getRange(row, 4).setValue(date);
activeSheet.getRange(row, 6).setValue(time);
}
function onPause(){
// Do something when finish a task
}
Aucun commentaire:
Enregistrer un commentaire