Как сделать цикл в скрипте приложений Google? - PullRequest
0 голосов
/ 29 апреля 2020

Цель состоит в том, чтобы связать один из моих документов Google Sheet с Календарем Google и создать события по данным листа. В документ включены два листа:

  • Первый - это основной лист со всеми данными. Большинство из них не нужны для создания события.
  • Второй - это копия важной информации с первого листа по следующей формуле: =Sheet1!H$5 и следующие 3 ячейки под ним. Формула копируется в Sheet2, поэтому, если я обновлю sheet1, они также появятся там.

Основная проблема в том, что если я вызову код, он будет обновлять мой календарь каждый раз, когда я редактирую Sheet1, и одно и то же событие добавляется тысячу раз. Другая проблема заключается в том, что если я скопирую формулу - заполнить sheet2 данными автоматически из sheet1, если я добавлю новый - для кода последняя строка не самая последняя с данными в ней, однако это последняя один с формулой, обычно пустой.

Лист1:

Sheet1

Лист2:

Sheet2

Вот мой код:

function simpleSheetsToCalendar() {

var ss = SpreadsheetApp.getActiveSpreadsheet();   
var sheet = ss.getSheetByName('Sheet2');
var data = sheet.getRange(sheet.getLastRow(),1,1,4).getValues();
var title = data[0][0];   
var eventDesc = data[0][1];   
var eventLoca = data[0][2];   
var date = data[0][3];
var masterCal = CalendarApp.getCalendarById(‘CalendarID)

masterCal.createAllDayEvent(title, date,
                    {location:eventLoca,description:eventDesc});}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...