Автоматическая отправка писем в зависимости от выбора выпадающего меню в форме Google - PullRequest
0 голосов
/ 12 сентября 2018

Я начинающий, когда дело доходит до кода и сценария.Я пытаюсь получить форму для отправки и отправки по электронной почте конкретным людям в зависимости от ответа в раскрывающемся меню.

Пример: Пит работает над проектом А, поэтому они выбирают проект А в раскрывающемся меню.спрашивая, над каким проектом они работают.Если Пит выбирает Проект A, мне нужен ответ, чтобы перейти к лицам A, B и C. Теперь, если Джессика работает над проектом B, мне нужен ответ, чтобы перейти к лицам A, B и D

Этовозможный?Я правильно объяснил это?Я полностью плотный, и это просто?

1 Ответ

0 голосов
/ 12 сентября 2018

Я предлагаю этот простой пример, чтобы дать вам старт.Внимательно посмотрите на это.Используйте онлайн-документацию, чтобы понять, что она делает.В Службах G-Suite вы найдете информацию о Gmail и о том, как ее использовать.Кроме того, на этом сайте имеется множество примеров, относящихся к электронной почте.

Google Script:

function getSelectOptions(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Selections')
  var rg=sh.getDataRange();
  var selections=[];
  var vA=rg.getValues();
  for (var i=0;i<vA.length;i++){
    selections.push(vA[i][0]);
  }
  return selections;
}

function getEmailsForChoice(choice){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Selections')
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  for (var i=0;i<vA.length;i++){
    if(choice==vA[i][0]){
      var emails=Utilities.formatString('%s;%s;%s',vA[i][1],vA[i][2],vA[i][3]);
      break;
    }                 
  }
  return emails;
}

function showMyDialog(){
  var ui=HtmlService.createHtmlOutputFromFile('choices')
  SpreadsheetApp.getUi().showModelessDialog(ui, 'Choices');
}

choices.html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  <script>
    window.onload=function(){
        google.script.run
          .withSuccessHandler(updateSelect)
          .getSelectOptions();
      }

     function updateSelect(vA){
      var select = document.getElementById("sel1");
      //select.options.length = 0; 
      for(var i=0;i<vA.length;i++)
      {
        select.options[i] = new Option(vA[i],vA[i]);
      }
    }  

    function savSelect(){
      var selected=document.getElementById('sel1').value;
      google.script.run
      .withSuccessHandler(function(emails){
        console.log(emails);
        document.getElementById('emails').innerHTML='Send Emails to the following: '+emails;
      })
      .getEmailsForChoice(selected);
    }
    console.log('My Code');
  </script>
  </head>
  <body>
  <div id="emails"></div>
  <select id="sel1" onChange="savSelect();"></select>
  </body>
  </html>

Вот так выглядит моя таблица:

enter image description here

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