Вставьте каждую строку переменной тела сообщения электронной почты в строку таблицы - PullRequest
0 голосов
/ 26 июня 2018

У меня есть скрипт, который успешно извлекает тело письма:

var msgBody = messages[m].getBody();

Это сообщение содержит 650+ строк информации, и я хотел бы поместить каждую строку текста в отдельную строкув том же столбце (как это будет работать, если бы я, например, вставил его в ячейку H1. Когда я запускаю эту команду:

listserveSheet.getRange("H1").setValues(msgBody)

Естественно, что в эту ячейку помещается ВСЕ 650+ строк информациивместо ячеек от H1 до H652 (или любой другой, которая была бы последней для любой электронной почты).

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

1 Ответ

0 голосов
/ 26 июня 2018

Благодаря указателям Сухая в приведенном выше комментарии я смог найти свой путь к ответу.

var msgBody = messages[m].getBody();
var dest = msgBody.split("\n");

Произошло ли разделение просто отлично.Тогда я смог установить отдельные значения в отдельные ячейки с этим.

for (var i =0; i < dest.length; i++) {
  listserveSheet.getRange("H"+ (i+1)).setValue(dest[i]);
}

Я пытался использовать операцию setValues, но, очевидно, я не занимался бизнесом 2-го диапазона.Я подозреваю, что если бы я понял 2d диапазоны, использование setValues ​​на большем диапазоне, в отличие от зацикливания setValue на ячейках, было бы быстрее.Вот бит, который я попробовал (а также несколько других перестановок, которые не работали:

listserveSheet.getRange(1,8,dest.length,dest[0].length).setValues(dest);

Еще раз спасибо за помощь

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