Как отправить по электронной почте указанные ячейки в одну строку с Google Sheets - PullRequest
1 голос
/ 30 мая 2019

Я пытаюсь написать код в скрипте Google Sheets, чтобы отправить электронное письмо со значениями из трех ячеек (D2, H2 и L2).

Я близко подошел к этому коду:

function sendCounts() {

//setup function
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh0 = ss.getSheetByName("PART COUNTS");

var message = "";
{

//set current row
var CurrentRow = 2;

//set HTML template for information
message +=
"<p><b>First Count: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Second Count: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Third Count: </b>" + CurrentRow[12] + "</p><br><br>";

//set the row to look at
var setRow = CurrentRow;
}

//define who to send updates to 
var SendTo = "me@emailaddress.com";

//set subject line
 var Subject = "DAILY PART COUNTS";


//send the actual email  
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
}

Письмо отправляется в правильном формате, но каждое из трех значений отображается в теле сообщения как «неопределенное» вместо значений ячеек D2, H2 и L2.

Кто-нибудь знает, что мне здесь не хватает?

1 Ответ

1 голос
/ 30 мая 2019

Как насчет этой модификации?

Точки модификации:

  • Причиной ошибки each of the three values appear as 'undefined' in the email body instead of the values of cells D2, H2, and L2 является CurrentRow.CurrentRow это число.Но в вашем сценарии вы используете его как массив.Это причина проблемы.
    • Чтобы избежать этой проблемы, извлеките значения из листа PART COUNTS.
  • Когда извлекается значение из строки 2 листа, CurrentRow можно использовать как массив.Но в этом случае индекс массива начинается 0, а индексы "D", "H" и "L" равны 3, 7 и 11.

Модифицированный скрипт:

Пожалуйста, измените следующим образом.

С:
var CurrentRow = 2;

//set HTML template for information
message +=
"<p><b>First Count: </b>" + CurrentRow[4] + "</p>" +
"<p><b>Second Count: </b>" + CurrentRow[8] + "</p>" +
"<p><b>Third Count: </b>" + CurrentRow[12] + "</p><br><br>";
Кому:
var CurrentRow = sh0.getRange("A2:L2").getValues()[0];

//set HTML template for information
message +=
"<p><b>First Count: </b>" + CurrentRow[3] + "</p>" +
"<p><b>Second Count: </b>" + CurrentRow[7] + "</p>" +
"<p><b>Third Count: </b>" + CurrentRow[11] + "</p><br><br>";

Ссылки:

Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...