По работе понадобилось рассылать сотрудникам письма исходя из данных таблицы. Как это произвести в один клик, хоть массово, хоть адресно? С помощью скрипта Google по такой схеме:
- Имеем таблицу с email-адресами и данными для отправки.
- Создаём скрипт Google, рассылающий письма на адреса из выделенных ячеек.
- Ставим в документ кнопку, при нажатии на которую этот скрипт срабатывает.
Рассмотрим более подробно по пунктам.
1. Формируем таблицу
Всё что нам нужно, это адреса и данные:
Кстати, некоторые данные могут быть и в скрипте: например, используемые постоянно. Я расскажу об этом ниже. Кроме того, данные могут браться с других листов, но это выходит за рамки статьи.
2. Создание скрипта
Инструменты → Редактор скриптов.
Выделяем всё, удаляем всё, копируем на пустой лист этот код:
function sendSelectedEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var activeRange = sheet.getActiveRange();
var data = activeRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0];
var subject = row[1];
var message = row[2];
MailApp.sendEmail(emailAddress, subject, message);
}
}
То же самое на скриншоте:
Сохраняем. Имена скрипта и проекта значения не имеют.
Что делает скрипт: построчно берёт данные из выделенных ячеек и рассылает почту. В нашем случае он берёт адрес emailAddress
, тему subject
и сообщение message
. Элементы массива row
— это номера ячеек в строке слева направо, начиная от 0.
Насчёт обещанных данных в скрипте. При необходимости объединить строки (например, для добавления постоянного адреса, на который копируются письма) используем конкатенацию с помощью плюса:
var emailAddress = row[0] + ', [email protected]';
Конечно, используемых ячеек может быть больше, они могут другое положение относительно друг друга. Поэтому просто меняем под свои нужды цифры в row[…]
.
В принципе, на этом всё: можно запускать скрипт, предварительно выделив строку или несколько строк в файле с данными. А можно сделать кнопку, чтобы лишний раз не открывать редактор скриптов.
3. Кнопка «Отправить email»
Кнопка создаётся как рисунок, на который позже назначается скрипт.
Вставка → Рисунок → Рисуем нужный нам объект (например, прямоугольник со скруглёнными краями), при необходимости делаем надпись:
Жмём «Сохранить и закрыть». Теперь через выпадающее меню рисунка назначаем ему скрипт:
А если точнее, то основную функцию из нашего скрипта:
Сохраняем. Вот теперь действительно всё. Можно выделить одну или несколько строк и щёлкнуть по кнопке. В первый раз Google запросит разрешения для скрипта на отправку email.
NB. Не советую использовать вышеописанное для спама, ибо Гугл не дурак. Повторюсь, я применял этот способ для автоматизации рассылок сотрудникам (а точнее копирайтерам-фрилансерам).
По материалам раз и два. Впервые опубликовано на моём сайте kodopik.ru
Супер! Как раз искал что то на эту тему! :)
хмм.. интересно. спасибо, воспользуюсь! )))