Как отправить электронное письмо в таблице Google с помощью скриптов Google

Google Scripts — это мощный инструмент, который можно использовать для автоматизации таких инструментов Google, как Таблицы и Документы. Возможность автоматической отправки электронных писем делает его дополнительным мощным инструментом.

Может быть, вы сотрудник, надеющийся чтобы ежемесячно отправлять электронное письмо своему боссу с автоматически вычисляемыми формулами в Google Таблицах. Или, может быть, вы менеджер, который тратит слишком много времени на отправку электронных писем отдельным членам вашей команды с такими вещами, как данные о производительности или обновления статуса. Функция Google Scripts, которую вы узнаете из этой статьи, поможет вам выполнить эти и многие другие задачи.

Приложив лишь небольшое усилие один раз, вам больше никогда не придется вручную отправлять данные. Позвольте Google Scripts действовать как ваш личный помощник, выполняя всю работу за вас.

Настройка вашей таблицы для отправки электронной почты

Первый шаг в получении вашего скрипта Google для отправки почты через Google Таблицы — это правильная настройка листа со всеми именами, адресами электронной почты и сообщениями для всех людей, которым сценарий должен отправлять.

В моем примере я начинаю с электронной таблицы, которую я настроил для автоматического импорта всех опубликовал статьи за месяц из Google Analytics. Я создал таблицу «Все авторы», в которой собраны опубликованные статьи для каждого автора, и теперь я хочу отправить каждому отдельному автору электронное письмо с их счетом.

Для начала создайте свой специальный лист электронной почты, добавив новый лист в текущую электронную таблицу и назовите его как-то вроде «Send-Emails».

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

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

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

Идея заключается в том, что всякий раз, когда вы открываете лист, Просмотрите свой автоматический отчет, у вас будет пункт меню, который вы можете щелкнуть, чтобы запустить Google Script для отправки электронной почты и разослать результаты всем. Вы увидите, как настроить этот новый пункт меню внизу этой статьи.

Когда вы закончите создавать свой лист, он будет выглядеть примерно так:

Теперь, когда ваш лист для всех отдельных писем готов, пришло время написать сценарий!

Написание автоматического сценария электронной почты

Чтобы написать свой сценарий, вам нужно использовать редактор сценариев. Вы найдете редактор сценария в меню Инструменты , выбрав Редактор сценария .

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

Просто скопируйте и вставьте приведенный ниже сценарий в область сценария. .

  function sendArticleCountEmails () {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
ss.setActiveSheet (ss.getSheetByName ("Отправить-электронные письма "));
var sheet = SpreadsheetApp.getActiveSheet ();
var dataRange = sheet.getRange (" A2: F4 ");
var data = dataRange.getValues ​​() ;
для (i в данных) {
var rowData = data [i];
var emailAddress = rowData [1];
var recipient = rowData [0 ];
var message1 = rowData [2];
var message2 = rowData [3];
var parameter2 = rowData [4];
var message3 = rowData [5];
var message = 'Уважаемый' + получатель + ',
' + message1 + '' + message2 + '' + parameter2 + '' + message3;
var subject = 'Количество ваших статей в этом месяце';
MailApp.sendEmail (emailAddress, subject, message);
}
}

Этот сценарий может показаться несколько сложным, но на самом деле это совсем не так. Давайте разберемся, чтобы вы точно знали, что делает каждая строка.

Нарушение кода

В Чтобы эта функция работала правильно, вам необходимо убедиться, что лист, на котором хранится вся информация вашей электронной почты, действительно является активным листом. Иначе все, что будет после, не сработает. Вот для чего предназначены эти две строки:

  var ss = SpreadsheetApp.getActiveSpreadsheet (); 
ss.setActiveSheet (ss.getSheetByName ("Send-Emails") );

Затем нам нужно извлечь все данные из этого листа. Метод sheet.GetRange () будет извлекать информацию из любого диапазона ячеек, который вы указываете в кавычках. Затем метод dataRange.getValues ​​() фактически извлекает значения и сохраняет их в двумерный массив, называемый data .

  var sheet = SpreadsheetApp.getActiveSheet (); 
var dataRange = sheet.getRange ("A2: F4");
var data = dataRange.getValues ​​();

Теперь, когда у нас есть все данные, хранящиеся в массиве, мы можем перебрать массив, используя цикл for . Каждый элемент массива представляет собой строку, содержащую одномерный массив элементов столбца. Вы можете ссылаться на каждый столбец, используя номер.

  var rowData = data [i]; 
var emailAddress = rowData [1];
var recipient = rowData [0];
var message1 = rowData [2];
var message2 = rowData [3];
var parameter2 = rowData [4];
var message3 = rowData [5];

Как вы можете видеть выше, я поместил элементы столбца в одномерный массив с именем rowData . Затем я ссылаюсь на второй столбец (чтобы получить адрес электронной почты), ссылаясь на rowData [1] , второй элемент массива (первый элемент массива всегда равен нулю).

Следующим шагом в этой функции является объединение всех сегментов сообщений, составляющих тело электронного письма. Приятно то, что вы действительно можете придать содержанию электронной почты довольно хороший формат, используя символ n , который является возвратом каретки. Вот как выглядит объединение тела письма:

  var message = 'Уважаемый'  + получатель + ', 
' + message1 + '' + message2 + '' + parameter2 + '' + message3;

+ — это команда конкатенации. Фактический статический текст помещается в одинарные кавычки. Итак, это сообщение составляется путем добавления слова «Уважаемый» перед переменной получателя (обратите внимание, что «Уважаемый» имеет пробел).

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

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

Последние две строки кода просто устанавливают строку темы для электронного письма (это также может включать данные из электронной таблицы, если вы хотите), и, наконец, sendEmail () метод.

Как запустить ваш скрипт

Вернувшись в окно редактора скриптов, просто найдите функцию «onOpen». Если функция есть, вы, вероятно, увидите в скобках кучу кода. Перейдите в конец этого кода и вставьте следующие строки:

  var spreadsheet = SpreadsheetApp.getActive (); 
var menuItems = [
{name: 'Отправить электронные письма', functionName: 'sendArticleCountEmails'}
];
spreadsheet.addMenu ('Отправить электронные письма', menuItems);

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

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

Сценарии Google могут помочь вам сэкономить время

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

Вы когда-нибудь использовали умные скрипты Google для автоматизации своей работы? Поделитесь своими примерами в разделе комментариев ниже!

.

Оцените статью
cuterful.ru
Добавить комментарий