Я пытаюсь найти имя пользователя с помощью activeuser. Работает только первая часть, а последняя часть - нет. Моя цель - отобразить лист на основе имени пользователя активного пользователя (имя листа основано на имени пользователя). Ниже приведен код, который я использую.искать имя пользователя, используя getactiveuser, используя скрипт Google Spreadsheet
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({name: "Test getActiveUser/getEmail", functionName: "onTest"});
ss.addMenu("Rep Drowndown", menuEntries);
testGetEmail("onOpen");
}
function onTest() {
testGetEmail("menu function");
};
function testGetEmail(callerId) {
var userEmail = "";
var activeUser = Session.getActiveUser();
if (activeUser == null)
Browser.msgBox("Session.getActiveUser() returned null", "called by " + callerId, Browser.Buttons.OK);
else
userEmail = activeUser.getEmail();
if (userEmail == "")
Browser.msgBox("Your Email returned an empty string", "called by " + callerId, Browser.Buttons.OK);
else
var ss = SpreadsheetApp.getActiveSpreadsheet();
var lookup = Session.getActiveUser().getEmail();
var range = ss.getRange('$A$3:$B$8').getValues();
var lookupRange = [];
for (var i = 0; i < range.length; i++)
lookupRange.push(range[i][0]);
var index = lookupRange.indexOf(lookup);
if (index == -1) {
// implicit no-op
}
else {
var link = range[index][2]
var sheet = ss.getSheetByName(link);
sheet.showSheet();
};
}
Спасибо @jjjjoe ваше предложение работал. Я новичок в этом и все еще изучаю свой путь. Спасибо за помощь. –
Я, похоже, не рассмотрю ваши предложенные изменения. Сожалею. Моя репутация не позволит мне с момента. Это тоже помогло ... Спасибо. –
Нет проблем; похоже, кто-то одобрил мои изменения. Я сделал изменения в локальном редакторе, потому что искал логические проблемы, но хорошо, что кто-то их одобрил :-) – jjjjoe