Как мне вызвать функцию mailApp в функции onEdit? - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть функция onEdit, где при выполнении следует отправить электронное письмо.Однако некоторые исследования показали, что функции mailApp не работают с onEdit.В настоящее время я работаю с обходными путями, но мне интересно, есть ли у других решения, которые они придумали.

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var sheetName = sheet.getName();
  //if editing specific sheet
  if (sheetName == "draft_test" ) {
    //if editing 6th column
    var r = e.source.getActiveRange();
    if (r.getColumn() == 6 ) {
      var player = sheet.getActiveCell().getValue();
      // Display a dialog box with a message and "Yes" and "No" buttons.
      var ui = SpreadsheetApp.getUi();
      var response = ui.alert('Do you want to draft '+player+'?', ui.ButtonSet.YES_NO);
      // Process the user's response.
      if (response == ui.Button.YES) {
        //***********FOR SOME REASON EXECUTING THIS FUNCTION ISNT WORKING******************
        emailLeague();
        //sortAutoRoster();
      } else {
      }
    }
  }
}

function emailLeague() {
  var draftSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("draft_test");
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test_email");
  var emailSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Manager Info");

  //actual email address omitted
  var recipient = 'emailaddress@gmail.com';
  //get array of all picks on "draft test" tab, and find latest one
  var picks = draftSheet.getRange(3,6,146,1).getValues();

    for (var i=0; i<picks.length; i++){
    if (picks[i] == ""){
      var latestPick = i;
      break;
    }
   }  
  var subject = sheet.getRange(i+1, 2).getValue();
  var body = sheet.getRange(i+1, 1).getValue();
  MailApp.sendEmail(recipient, subject, body);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...