Как использовать несколько ячеек для тела письма, Google Sheets - PullRequest
0 голосов
/ 21 июня 2019

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

function email(){
  var rng = SpreadsheetApp.getActiveSheet().getActiveRange()
  var email = rng.getValues(); GmailApp.sendEmail(email[0][0], email[1][0], email[2][0]);
}

3 выбранные ячейки содержат адрес электронной почты: email[0][0], тему: email[1][0] и текст сообщения: email[2][0].

Код работает хорошо, но мне бы хотелось, чтобытело сообщения должно быть построено из нескольких ячеек.Так, например, все ячейки [2][0], [3][0], [4][0] будут содержаться в теле сообщения.

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Учитывая переменные, которые вы уже определили, вы можете просто использовать оператор +, чтобы добавить эти объекты массива друг к другу.Поскольку мы имеем дело со строками, он объединит значения.

Правильный синтаксис для GmailApp.sendEmail() следующий:

GmailApp.sendEmail(recipient, subject, body);

Итак, ваша новая строка кода для объединениязначения могут быть:

GmailApp.sendEmail(email[0][0], email[1][0], email[2][0] + email[3][0] + email[4][0]);

Или вместо этого вы можете определить свою переменную тела отдельно и просто вызвать ее внутри sendEmail(), как показано ниже:

function email(){
  var rng = SpreadsheetApp.getActiveSheet().getActiveRange();
  var email = rng.getValues();
  var body = email[2][0] + email[3][0] + email[4][0];
  GmailApp.sendEmail(email[0][0], email[1][0], body);
}

Это просто немноголегче отслеживать, как будет выглядеть тело письма, так как ваша строка кода для sendEmail() начнет оборачиваться или расширяться из окна браузера, если вы пытаетесь объединить множество объектов массива в одно тело письма.


Ссылки:

  1. Javascript + Оператор
  2. GmailApp.sendEmail()
1 голос
/ 21 июня 2019

Поскольку адрес электронной почты: email[0][0], тема: email[1][0] и тело сообщения: email[2][0] все находятся в столбце 1. Я мог бы догадаться, что вы держите контент для каждого адресата в разных столбцах, поэтому может иметь смыслдля вас можно использовать электронную почту [3] [0] через электронную почту [n] [0] для получения дополнительной информации для этого адреса, а затем вы можете перебирать столбцы для отправки нескольких электронных писем.

Установите, допустим, что электронная почта [3] [0] = Приветствие и электронная почта [4] [0] может содержать текст сообщения и электронную почту [5] [0] ваша находка до свидания.

Итактогда команда email будет выглядеть примерно так:

GmailApp.sendEmail (электронная почта [3] [0] + электронная почта [3] [0] + электронная почта [3] [0], электронная почта [1] [0], электронная почта [2] [0]);}

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

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