Formから、日付、開始時間、終了時間を入力してもらい、スプレッドシートに情報が蓄積されるようにしています。開始時間と終了時間の間が1時間を超える申請の場合は、申請を受け付けないといったFormを作成しています。
現在の時刻との比較ではうまくいくのですが、スプレッドシートから取得した時間では、
スクリプトがうまく動作しません。
function
1 //有効なGooglesプレッドシートを開く 2 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 3 4 var rng = sheet.getActiveCell(); 5 6//新規予約された行番号を取得 7 var num_row = sheet.getLastRow(); 8 9//予約の開始時間を取得 10 var stime2 = sheet.getRange(num_row, 5).getDisplayValues(); 11 var stime3 = Moment.moment(stime2); 12 13 //予約の終了時間を取得 14 var etime2 = sheet.getRange(num_row, 6).getDisplayValues(); 15 var etime3 = Moment.moment(etime2); 16 17 //予約日を取得 18 var ndate = new Date(sheet.getRange(num_row, 4).getValue()); 19 var ndate2 = sheet.getRange(num_row, 4).getDisplayValues(); 20 21//★開始時間 + 1時間 22 var ndates1 = stime3.add(1,"h"); 23 24//開始時間+1時間と終了時間が同じ、または、開始時間+1時間が終了時間より遅い時間の場合 25 if (Moment.moment(etime3).isSame(ndates1) || Moment.moment(etime3).isBefore(ndates1)){ 26//〇を返す 27sheet.getRange(num_row, 7).setValue("〇"); 28 } 29 else{ 30 sheet.getRange(num_row, 7).setValue("×"); //それ以外は×を返す 31 32 33} 34 35} 36コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/25 04:15