Итак, у меня есть Google лист, который собирает регистрационные данные от клиентов. В собранные данные включены имя студента, сеанс, который студент выбрал для посещения, и номер кредитной карты. После отправки я получаю уведомление. После уведомления я перехожу на свой лист Google и списываю с кредитной карты соответствующую сумму.
После того, как с кредитной карты была снята оплата, я хочу сгенерировать электронное письмо с подтверждением для клиента, основанное на текстовом шаблоне в ячейке A1, т. Е. (1,1) на листе 2, который включает имя студента ( Диапазон C2), сеанс, который студент зарегистрировался для посещения (диапазон D2), и сумма, списанная с кредитной карты (диапазон E2). Проще говоря, я хочу заменить фигурные скобки в моем «тексте шаблона» (то есть {Name}, {session} и {Cost} фактическими значениями, которые я определил как переменные.
Ради жизни я не могу заставить это работать.
Вот подробности ошибки, которые я получаю, когда пытаюсь запустить этот код:
Ошибка типа: не удается найти функцию замены в объекте Это тело письма. Эта сумма списывается с кредитной карты: {Стоимость}.
Я был в интернете по этому поводу. Я смотрел видео на YouTube. Я прочитал то, что похоже на горы онлайн-документации, ни одна из которых не оказала никакой значимой помощи. Я расстроился, пытаясь понять, как работает регистратор, и все же, для меня это полная загадка. Очень расстроен!
Кроме того, есть ли способ, которым я могу поделиться своим проектом с форумом, чтобы кто-то там мог реально посмотреть на мой код в действии ??? Хотелось бы, чтобы был сайт для Apps Script, который работает как ExcelForum для вопросов о программировании VBA
function SendEmail2() {
// fetch these values as you need
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2").getValues();
var studentRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("C2").getValues();
var sessionRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("D2").getValues();
var chargeAmt = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("E2").getValues();
var studentName = studentRange;
var sessionName = sessionRange;
var emailAddress = emailRange;
var charge = chargeAmt;
var templateText = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Template").getRange(1,1).getValues();
// This is what needed to change
var emailText = templateText
.replace("{Name}", studentName)
.replace("{Sessions}", sessionName)
.replace("{Cost}", charge);
var subject = 'Junior Golf Clinic Registration Receipt';
var message = emailText;
MailApp.sendEmail(emailAddress, subject, message);
}
Это тело письма.
Это сумма, взимаемая с кредитной карты {Cost}
// should be replaced with the value of the var "charge".
Это имя студента: {Name}
. //Should be replaced with the value associated to the var "studentName"]
Это сессии, которые студент должен посетить: {Sessions}
//Should be the value associated with the var "sessionName".