кнопка создания, чтобы добавить новую строку с сегодняшней датой и пустыми другими полями

Я пытаюсь создать кнопку (положение должно быть фиксированным, поэтому кнопка остается видимой, даже когда я прокручиваю лист вниз). Я смог нарисовать это, но теперь я застрял на этапе настройки кнопки для этого:

  • После нажатия на кнопку она должна добавить новую строку (как строка 16). В полях даты я хотел бы предварительно заполнить сегодняшнюю дату. Остальные поля должны быть пустыми.
  • Строка 15 — более старая строка со вставленными и выбранными данными из раскрывающегося списка и поля даты.

введите здесь описание изображения

Любая идея, пожалуйста?


person peter    schedule 20.04.2019    source источник


Ответы (1)


Сам нашел ответ:

// global 
var ss = SpreadsheetApp.getActive();

function my(){       
  var sh = ss.getActiveSheet(), lRow = sh.getLastRow(), mylastrow=lRow + 1; 
  var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
  sh.insertRowsAfter(lRow, 1);
  range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:false});

  SpreadsheetApp.getActiveSheet().getRange('A'+mylastrow).setValue('');
  SpreadsheetApp.getActiveSheet().getRange('B'+mylastrow).setValue(new Date());
  SpreadsheetApp.getActiveSheet().getRange('C'+mylastrow).setValue('0');
  SpreadsheetApp.getActiveSheet().getRange('D'+mylastrow).setValue('');
  SpreadsheetApp.getActiveSheet().getRange('E'+mylastrow).setValue(new Date());
  SpreadsheetApp.getActiveSheet().getRange('F'+mylastrow).setValue('');
  SpreadsheetApp.getActiveSheet().getRange('G'+mylastrow).setValue('');
}
person peter    schedule 20.04.2019