I have shared a google sheet via email to other users. Everytime I open the sheet, this code works fine for me, but doesnt work for other users. I have also tried using onOpen(e) but this doesnt even work for me. I also tried installable triggers that also works for me but not for others. Can someone clarify what I am doing wrong?
//onOpen code
function onOpen() {
var sessionemail= Session.getActiveUser().getEmail();
var arrayemail=["sadeeq.@gmail.com", "zahir.@gmail.com","khaled.@gmail.com","abir.@gmail.com","atiq.@gmail.com","hasib.@gmail.com"];
if (arrayemail.indexOf(sessionemail)!== -1){
var arrayfind=arrayemail.indexOf(sessionemail);
var nameemail=sessionemail.split(".");
var namesheet=nameemail[0].toUpperCase();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(namesheet).activate();
var activesheet=SpreadsheetApp.getActive().getSheetByName(namesheet).getRange(SpreadsheetApp.getActiveSheet().getLastRow(), 1);
activesheet.activate();
} else{
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ALL PROJECTS').activate();
}
}
//intallable triggers code
function MyFunction() {
var sessionemail= Session.getActiveUser().getEmail();
var arrayemail=["sadeeq.@gmail.com", "zahir.@gmail.com","khaled.@gmail.com","abir.@gmail.com","atiq.@gmail.com","hasib.@gmail.com"];
if (arrayemail.indexOf(sessionemail)!== -1){
var arrayfind=arrayemail.indexOf(sessionemail);
var nameemail=sessionemail.split(".");
var namesheet=nameemail[0].toUpperCase();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(namesheet).activate();
var activesheet=SpreadsheetApp.getActive().getSheetByName(namesheet).getRange(SpreadsheetApp.getActiveSheet().getLastRow(), 1);
activesheet.activate();
} else{
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ALL PROJECTS').activate();
}
}
function createSpreadsheetOpenTrigger() {
const ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('MyFunction')
.forSpreadsheet(ss)
.onOpen()
.create();
}