У меня есть этот скрипт, который выполняет следующие действия:
Запрашивает столбец с электронными письмами. Подскажите тему письма. Запрашивайте тело письма. Подскажите для начального ряда. Сценарий отправляет одно электронное письмо для каждой строки на листе.
Я хотел бы расширить сценарий, чтобы также запрашивать столбец с вложением, которое должно быть добавлено к каждому электронному письму (запрос для столбца не является проблемой). Такой столбец будет иметь имя файла.
Идея состоит в том, что, учитывая имя файла, он будет искать его в определенной папке и добавлять в качестве вложения (эта часть мне нужна с вашей помощью).
function emailSenderSameMessageDifferentPdf() {
var activeSs = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var activeSsLastRow = activeSs.getLastRow();
// Prompt for the column with the emails
var activeSsUi = SpreadsheetApp.getUi();
var activeSsUiEmailsColumn = activeSsUi.prompt("Email", "Enter the number of the column with the emails", activeSsUi.ButtonSet.OK_CANCEL);
var activeSsUiEmailsColumnText = activeSsUiEmailsColumn.getResponseText();
var activeSsUiEmailsColumnButton = activeSsUiEmailsColumn.getSelectedButton();
if(activeSsUiEmailsColumnButton == activeSsUi.Button.CANCEL) {
return;
}
// Prompt for the subject of the email
var activeSsUiEmailsSubject = activeSsUi.prompt("Email", "Enter the subject of the email", activeSsUi.ButtonSet.OK_CANCEL);
var activeSsUiEmailsSubjectText = activeSsUiEmailsSubject.getResponseText();
var activeSsUiEmailsSubjectButton = activeSsUiEmailsSubject.getSelectedButton();
if(activeSsUiEmailsSubjectButton == activeSsUi.Button.CANCEL) {
return;
}
// Prompt for the body of the email
var activeSsUiEmailsBody = activeSsUi.prompt("Email", "Enter the body of the email", activeSsUi.ButtonSet.OK_CANCEL);
var activeSsUiEmailsBodyText = activeSsUiEmailsBody.getResponseText();
var activeSsUiEmailsBodyButton = activeSsUiEmailsBody.getSelectedButton();
if(activeSsUiEmailsBodyButton == activeSsUi.Button.CANCEL) {
return;
}
// Prompt for the starting row
var activeSsUiEmailsRow = activeSsUi.prompt("Email", "Enter the number of the starting row", activeSsUi.ButtonSet.OK_CANCEL);
var activeSsUiEmailsRowText = activeSsUiEmailsRow.getResponseText();
var activeSsUiEmailsRowButton = activeSsUiEmailsRow.getSelectedButton();
if(activeSsUiEmailsRowButton == activeSsUi.Button.CANCEL) {
return;
}
// Iterate through all the rows with emails
for (activeSsUiEmailsRowText = activeSsUiEmailsRowText; activeSsUiEmailsRowText <= activeSsLastRow; activeSsUiEmailsRowText++) {
var activeSsUiEmailsColumnCurrentAddress = activeSs.getRange(activeSsUiEmailsRowText, activeSsUiEmailsColumnText).getValue();
GmailApp.createDraft(activeSsUiEmailsColumnCurrentAddress, activeSsUiEmailsSubjectText, null, {htmlBody:activeSsUiEmailsBodyText, cc: "mail@example.com"});
// GmailApp.sendEmail(activeSsUiEmailsColumnCurrentAddress, activeSsUiEmailsSubjectText, null, {htmlBody:activeSsUiEmailsBodyText, cc: "mail@example.com"});
}
}