Автоматизация электронной почты на основе конкретного ввода текста в ячейку - PullRequest
0 голосов
/ 14 июня 2019

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

Я пробовал некоторые из сценариев, таких как Сценарий Google Apps - отправка электронной почты на основе данных в ячейке , но не удается.

1 Ответ

0 голосов
/ 14 июня 2019

Вам нужно перебрать столбец AB и проверить наличие «N» записей (при условии, что это просто строка), затем отправить электронное письмо и затем, чтобы избежать повторения, вы можете изменить N на другое значение. С помощью скриптов приложения это будет выглядеть примерно так:

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  // Will return a 2D array with the entire's sheet values 
  var data = sheet.getDataRange().getValues(); 

  for (var i = 0; i < data.length; i++){
    if (data[i][0] == "N"){
      // Sends the email, The name section is the name people who receive the email would see ass the "from" id.
      // If there is no email in the cell this will return an error, so you can add a try/catch here to avoid that.
      GmailApp.sendEmail(data[i][1], "Subject", "Message", {name: 'N Finder Script'});

      //To avoid repetition, you can edit the N value after sending the email.
      sheet.getRange("A" + (i+1)).setValue(""); // This would be "AB" in your case.
      sheet.getRange("A" + (i+1)).setValue("S"); // S for email sent, for example.
    }
  }
}

Несколько небольших предостережений; Я запустил это с небольшой тестовой таблицей, поэтому я ищу значение в столбце «А». Когда я проверяю данные [i] [0] я проверяю i-ую строку первого столбца, вы должны изменить 0 на число, соответствующее столбцу, в котором у вас есть «N». То же самое относится и к электронным письмам, я смотрю на них в данных [i] [1], вы изменили бы это 1, чтобы соответствовать столбцу, где у вас есть список адресов электронной почты.

Наконец, чтобы запускать код при каждом добавлении N, вы можете добавить триггер onEdit, это можно сделать, следуя инструкциям по следующей ссылке:

https://developers.google.com/apps-script/guides/triggers/installable

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