Запуск сценария в общем файле Google Sheets - PullRequest
0 голосов
/ 06 июня 2018

У меня есть сценарий с привязкой к контейнеру, который переводит активную ячейку в любой активный лист, который пользователь использует в Google Sheets, для создания электронного письма для отправки.Код работал отлично, пока я не поделился им с несколькими пользователями, у которых у всех есть права «редактировать» электронную таблицу.Теперь сценарий, похоже, не запускается, он даже не будет публиковать журналы, которые я встроил в сценарий, и в редакторе сценариев не будет отображаться запись выполнения.

Вот код основной функции (sendEmailSheet), который вызывает две другие функции, которые есть в файле сценария:

function onOpen(e) {
  SpreadsheetApp.getUi()
      .createMenu('emailsFromSheet')
      .addItem('Run Script!', 'sendEmailSheet')
      .addToUi();
}//without this there is no trigger under the add-ons menu

function sendEmailSheet(){
  Logger.log('the function at least starts'); 
  try {
    var sheet = SpreadsheetApp.getActiveSheet();
  } catch (e) {
    console.error('couldn\'t get active sheet: ' + e);}

  Logger.log(sheet);
  try{
    var sheetName = sheet.getSheetName(); }
  catch (e) {
    console.error('couldn\'t get sheet name: ' + e);
  }
  Logger.log(sheetName);
  if(sheetName == "sendEmail"){
    sendEmailTemplate(sheet);
  }
  else if(sheetName == "createDraft"){
    createDraftTemplate(sheet); 
  }
  else{ //catch errors
    SpreadsheetApp.getUi().alert('There is an error, perhaps one of the sheets is named incorrectly. Please keep the sheets named "sendEmail" and "createDraft", and restart the add-on.');
  }
}

Это потому, что теперь есть несколько пользователей, поэтому SpreadsheetApp.getActiveSheet () не будет работать, поскольку может быть конфликтующий «активный»листы?Но я думал, что код все равно будет работать независимо для каждого пользователя ...

Любая помощь будет оценена!Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...