Open8

gas

sotasota

web表示
let、constは関数宣言してるだけ

doGet web表示関数
function doGet() {
  // page関数にindex.htmlを代入
  let page = 'index';
// HtmlService.createTemplateFromFile でwebに表示される
  const template = HtmlService.createTemplateFromFile(page);
  return template.evaluate();
}
sotasota

画面のURLを取得する関数

function getAppUrl() {
  return ScriptApp.getService().getUrl();
}
sotasota

スプレッドシートに書きこむ関数

  function insertRecord(param){
    let reservationTime = 0;
    const fromDate = new Date(param.calendar_date_from +' ' + param.calendar_time_from);
    const toDate = new Date(param.calendar_date_to + ' ' + param.calendar_time_to);
    const diffDate = toDate.getTime() - fromDate.getTime();
    const diffMinute = Math.floor(diffDate / (60000));
    reservationTime = diffMinute/60;
    //この順番にスプレッドシートに格納される
    const data = [[
      param.user_id, 
      param.user_name, 
      param.calendar_date_from,
      param.calendar_time_from,
      param.calendar_date_to,
      param.calendar_time_to,
      param.comment,
      reservationTime,
      new Date()
    ]];
    //SPREAD_SHEET_IDは連携するスプレッドシートのID、SHEET_NAMEはシート名をそれぞれ置き換えてください。
    const app = SpreadsheetApp.openById('1aR63MhbzVEWptDcs6lwXZVIRm6Uai7W_EHAfsP6LyNU');
    const sheet = app.getSheetByName('test');
    const insertRow = sheet.getDataRange().getLastRow() + 1;  //挿入行
    const insertCol = 1;  //挿入列
    const insertRowNum = data.length;  //挿入行数
    const insertColNum = data[0].length;  //挿入列数(データ数)
    const insertRange = sheet.getRange(insertRow, insertCol,insertRowNum,insertColNum);
    insertRange.setValues(data);
  }
sotasota

= transpose(split(join(char(10)、A1:A4)、char(10)))