こんにちは、プログラミングとGASの初心者です。
予約システムの作成をしています。
googleフォームから入力されスプレットシートにある客先名や担当者名や装置名を
カレンダーの題名やメールの件名に入れたいのですが
どの様にしたら出来ますでしょうか?
下記のプログラミング文だと
メールは「テストご予約完了通知」のみが件名に入って
カレンダーは「担当者名とテスト」と入力されてしまいます。
function sendToCalendar(e) {
try{
//有効なGooglesプレッドシートを開く
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
//新規予約された行番号を取得
var num_row = sheet.getLastRow();
//新規予約された行から担当者名を取得
var nname = sheet.getRange(num_row, 2).getValue();
//メールアドレスの取得
var nmail = sheet.getRange(num_row,16).getValue();
//予約を記載するカレンダーを取得
var cals = CalendarApp.getCalendarById("カレンダーID");
//予約の開始時間を取得
var stime = new Date(sheet.getRange(num_row, 24).getValue());
//予約の終了時間を取得
var etime = new Date(sheet.getRange(num_row, 25).getValue());
var ndate = new Date(sheet.getRange(num_row, 6).getValue());
var ndates= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate()-1,stime.getHours(),stime.getMinutes(),0);
var ndatee= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate()+1,etime.getHours(),etime.getMinutes(),0);
//客先名を取得
var ncustomer = sheet.getRange(num_row,3).getValue();
//テスト装置名を取得
var ntest = sheet.getRange(num_row,4).getValue();
// 先約があるかどうか調べる
if(cals.getEvents(ndates, ndatee)==0){
//予約の件名を入力
var thing = nname+ "様";
//予約情報
var r = cals.createEvent(thing, ntest,ncustomer,ndates, ndatee);
var thing =nname+"様\n\n テストのご予約を承りました。\n 別途、実験室からご連絡をいたします。\n\n 内容を拝見しまして日程などの変更を依頼する可能性がございます。\n ご了承ください。\n\n ご入力ありがとうございました。このメールは自動返信です。\n\n\n このメールアドレスに返信はしないでください。\n\n\n 実験室"
MailApp.sendEmail(nmail,ntest,ncustomer+"テストご予約完了通知",thing);
}
else{
var thing =nname+"様 \n\n テストをご希望の日時に先約がありましたので予約出来ませんでした。\n\n 日程を変更して再度お申込みください。\n グーグルカレンダーにて予約日に先約が入っていないのを確認してください。\n\n\n このメールは自動返信です。このメールアドレスには返信しないでください。"
MailApp.sendEmail(nmail,ntest,ncustomer+"テストのご予約ができませんでした",thing);
}
} catch(exp){
//実行に失敗した時に通知
MailApp.sendEmail(nmail, exp.message, exp.message);
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。