Инструкции по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

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

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

Создайте лист для отправки электронной почты

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

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

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

Изображение 1 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

Изображение 2 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

Изображение 3 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

Изображение 4 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

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

Изображение 5 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

После создания рабочего листа со всеми вашими личными адресами электронной почты следующим шагом будет написание сценария!

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

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

Изображение 6 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

Изображение 7 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

Скопируйте и вставьте этот сценарий в раздел написания сценария.

функция sendArticleCountEmails () {var ss = SpreadsheetApp. getActiveSpreadsheet (); SS . setActiveSheet (ss. getSheetByName («Отправить электронные письма»)); 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 параметр2 = rowData [ 4 ] ; var message3 = rowData [ 5 ] ; var message = «Уважаемый» + получатель + ‘, nn’ + message1 + » + message2 + » + parameter2 + » + message3; var subject = «Количество ваших статей за этот месяц»; MailApp. sendEmail (адрес электронной почты, тема, сообщение); }}

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

Разделить код

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

var ss = SpreadsheetApp. getActiveSpreadsheet (); SS . setActiveSheet (ss. getSheetByName («Отправить электронные письма»));

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

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

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

var rowData = данные [ i ] ; var emailAddress = rowData [ 1 ] ; var recipient = rowData [ 0 ] ; var message1 = rowData [ 2 ] ; var message2 = rowData [ 3 ] ; var параметр2 = rowData [ 4 ] ; var message3 = rowData [ 5 ] ;

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

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

где message = «Уважаемый» + получатель + ‘, nn’ + message1 + » + message2 + » + parameter2 + » + message3;

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

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

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

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

Как активировать скрипт

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

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

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

Изображение 8 с инструкциями по автоматической отправке электронной почты в Google Sheet с помощью Google Script

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

Google Script экономит ваше время

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *