質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Q&A

0回答

256閲覧

GoogleフォームからGoogleカレンダーへの予定自動反映における年指定

SASSS

総合スコア0

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

0グッド

0クリップ

投稿2020/12/07 05:26

前提・実現したいこと

恐縮ながら、完全初心者です。
GASでGoogleフォームから年月日を指定した上で希望の時間帯をGoogleカレンダー上に予約を反映させられる、貸し会議室予約システムのようなものを作成しようとしています。
ネットを調べて見様見真似で反映までは出来たのですが、年がコード上で指定するタイプのものを参考にしたのですが、Googleフォーム入力側で指定できるようにしたいです。
助けて下さい。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

function sendToCalendar(e) { try{ //年を入力*** var year = 2020; //有効なGooglesプレッドシートを開く var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //新規予約された行番号を取得 var num_row = sheet.getLastRow(); //メールアドレスの取得 var nmail = sheet.getRange(num_row, 2).getValue(); //新規予約された行から名前を取得 var nname = sheet.getRange(num_row, 4).getValue(); //予約を記載するカレンダーを取得 var cals = CalendarApp.getCalendarById("カレンダーID"); //予約日を取得 var ndate = new Date(sheet.getRange(num_row, 7).getValue()); //予約の開始時間を取得 var stime = new Date(sheet.getRange(num_row, 8).getValue()); //予約の終了時間を取得 var etime = new Date(sheet.getRange(num_row, 9).getValue()); var ndates= new Date(year,ndate.getMonth(),ndate.getDate(),stime.getHours(),stime.getMinutes(),0); var ndatee= new Date(year,ndate.getMonth(),ndate.getDate(),etime.getHours(),etime.getMinutes(),0); // 先約があるかどうか調べる if(cals.getEvents(ndates, ndatee)==0){ var thing =nname+"様(振込)"; //予約情報をカレンダーに追加 var r = cals.createEvent(thing, ndates, ndatee); var thing =nname+"様 \n\n 予約申込を受け付けました。\n 後ほど別途ご案内メールをお送りします。\n\n 3営業日前までにお振込みいただいた場合のみご利用いただけます。" MailApp.sendEmail(nmail,"6F1 予約申込完了",thing); } else{ var thing =nname+"様 \n\n 予約の時間に先約がありましたので、\n 申し訳ございませんが、予約できませんでした。\n\n 時間帯を変更して再度お申込みください。" MailApp.sendEmail(nmail,"予約できませんでした",thing); } } catch(exp){ //実行に失敗した時に通知 MailApp.sendEmail(nmail, exp.message, exp.message); } }

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問