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

У меня есть электронная таблица на Google-диске, которая содержит информацию, подобную приведенной ниже: enter image description here

Мне нужно добавить кнопку в каждую строку (предположим, что у нас больше данных), и если я нажму на нее, появится HTML-код с новым электронным письмом, содержащим информацию из этой электронной таблицы и этой конкретной строки.

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

/**
 * Sends emails with data from the current spreadsheet.
 */
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 1; // Number of rows to process
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 1, numRows, 9);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (var i in data) {
    var row = data[i];
    var emailAddress = row[7]; // First column
    var message = row[8]; // Second column
    var subject = row[1]+" " + row[6]+ " " + row[1];//'Sending emails from a Spreadsheet'
    GmailApp.createDraft(emailAddress, subject, message);
  }
}

Всего 1 ответ

Автоматический диспенсер мыльной пены от xiaomi.


Я нашел решение благодаря this solution.

Я отредактировал свой файл gs в Apps Script, получив следующий сценарий:

/**
 * Sends emails with data from the current spreadsheet.
 */
function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  
  var row = sheet.getActiveCell().getRow();
  var column = 1;//= sheet.getActiveCell().getColumn();
  var dataRange = sheet.getRange(row, 1, column, 10);
  var data = dataRange.getValues();

  var row = data[0];//[i];
  var emailAddress = row[7]; // First column
  var message = row[8]; // Second column
  var subject = row[1]+" " + row[6]+ " " + row[2];//'Sending emails from a Spreadsheet'

  GmailApp.createDraft(emailAddress, subject, message);
}

function onOpen(e) {
  SpreadsheetApp.getUi()
      .createMenu("Send email")
      .addItem('Generate Draft Email', 'sendEmails')
      .addToUi();
}

Теперь в моем меню в электронной таблице есть вкладка Send Email, как показано ниже: enter image description here

Когда я перехожу к выбранной строке, я щелкаю подменю Generate Draft Email из Send Email, и в черновиках моих писем Gmail создается новое электронное письмо.


Есть идеи?

10000