Игнорирование столбца формулы с помощью скрипта LastRow - PullRequest
1 голос
/ 21 сентября 2019

Я довольно новичок в AppScript, поэтому я прошу прощения, если это безумно просто, и я просто безнадежен.Я искал кучу, но все решения были в несколько разных форматах, которые я не знал, как их использовать.

Скрипт работает для импорта информации о моих листах в календарь, но я хочу, чтобы мой первый столбецбыть столбцом формулы, и я не могу понять, как его игнорировать при использовании LastRow.

Я получил код из учебника в Интернете, но если у всех вас есть предложения о том, что делать лучше / иначе, позвольте мнезнать.Спасибо!

Я пробовал несколько разных итераций в этой строке:

var count = spreadsheet.getRange("B2:H"+lr+"").getValues();  

Но я проб и ошибок, в результате только ошибки.

function CreateEvent() {

var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarId = spreadsheet.getRange('K1').getValue();
var eventCal = CalendarApp.getCalendarById(calendarId);
var lr = spreadsheet.getLastRow();
Logger.log(lr);

var count = spreadsheet.getRange("B2:H"+lr+"").getValues(); 

for (x=0; x<count.length; x++) {

  var shift = count[x];

  var summary = shift[0];
  var guests = shift[2]; 
  var description = shift[3];
  var location = shift[4];
  var startTime = shift[5];
  var endTime = shift[6];
  var event = {
      'location': location,
      'description': description,
      'guests':guests +',',
  }

  eventCal.createEvent(summary, startTime, endTime, event)
}


}

1 Ответ

0 голосов
/ 23 сентября 2019

Ваш подход правильный, есть только один шаг, который вам нужно сделать, чтобы создать событие.Параметры startTime и endTime должны иметь тип Date, без String.Для этого вам необходимо добавить следующие изменения:

var startTime = new Date(shift[5]);
var endTime = new Date(shift[6]);

С этим кодом строки будут преобразованы в даты, и метод createEvent будет работать.Пожалуйста, попросите больше разъяснений, если я не объяснил себя адекватно.

В качестве идентификатора я хочу отметить одну маленькую вещь в следующей строке:

var count = spreadsheet.getRange("B2:H"+lr+"").getValues(); 

Последний "" не нужны вообще и могут вызвать путаницу, но это, безусловно, работает.Для наглядности рекомендую просто использовать:

var count = spreadsheet.getRange("B2:H"+lr).getValues();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...