Использование редактора сценариев для отправки электронного письма с кнопки в Google Sheets - PullRequest
0 голосов
/ 08 апреля 2019

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

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

У меня всего 3 листа. Sheet1 собирает данные для Sheet2. Лист 2 содержит данные, которые мне нужны для отправки по электронной почте, и кнопку со сценарием для отправки электронного письма. Третий лист - это UserData, в котором содержится список электронных писем, на которые необходимо отправить данные.

...
function CustomEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getLastRow();
var UserData = range.getValues();
for (i in UserData) {
var row = UserData[i];
var email = row[1];
MailApp.sendEmail(row[1], "Shift Report", "Have a great Shift");
}
}
...

Я надеюсь, что смогу ввести свои данные в Sheet1, а затем просмотреть второй лист и нажать кнопку sendEmail.

1 Ответ

0 голосов
/ 09 апреля 2019
 function CustomEmail() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getLastRow();

getLastRow() возвращает целое число, а не диапазон.

getLastRow

  var UserData = range.getValues();

Поскольку диапазон на самом деле не является диапазоном, вышеуказанная строка не будет давать никаких значений.

  for (i in UserData) {

Процедура такого рода должна быть зарезервирована для объектов с парами ключ / значение. И вы всегда должны объявлять свои переменные с помощью var.

    var row = UserData[i];
    var email = row[1];
    MailApp.sendEmail(row[1], "Shift Report", "Have a great Shift");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...