前提・実現したいこと
スプレッドシートでスケジュール管理を行い、その内容をグーグルカレンダーへ連携を行いたいと考えています。
"○"であればカレンダーに挿入し、実施後は"×"を入れる
"×"であればカレンダーに挿入しないとしたいと考えています
|実行するか|ID|タイトル|日付|開始時間|実施時間|住所|説明
|:--|:--:|--:|
|○|1|テスト1|2020/02/19|15:00|1:00|東京都千代田区丸の内1丁目||
|○|2|テスト2|2020/02/20|15:00|1:00|東京都千代田区丸の内1丁目||
コード function createEvents() { var sheet = SpreadsheetApp.getActiveSheet(); var calendar = CalendarApp.getDefaultCalendar(); var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues(); //ステータス判定 var status = SpreadsheetApp.getActiveSheet().getDataRange().getValues();[i][0]; //範囲確認 for(var i = 1; i <= values.length; i++){ //○で会った場合 if(sheet.getRange(i, 1).getValue() === "○"){ var title = '(仮)' + values[i,1] +values[i,2]; var startTime = addTime(new Date(values[i,4]), values[i,4]); var endTime = addTime(new Date(values[i,5]), startTime, values[i,5]); var option = { description: values[i,7], location: values[i,6] } calendar.createEvent(title, startTime, endTime, option); sheet.getRange(i, 1).setValue("×"); } }} function addTime(date, time, howLong){ if(!howLong) { howLong = new Date(0,0,0,0,0,0); } date.setHours(time.getHours() + howLong.getHours()); date.setMinutes(time.getMinutes() + howLong.getMinutes()); return date; }
発生している問題・エラーメッセージ
ネット上の情報から自分なりに行っていますが、getHours()でエラーが出てしまい連携ができません
エラーメッセージ TypeError: undefined のメソッド「getHours」を呼び出せません。(行 51、ファイル「コード」) ### 該当のソースコード ```ここに言語名を入力 ソースコード gas ### 試したこと ここに問題に対して試したことを記載してください。 gerHoursが推奨では無いとのことなので Calendar.get(Calendar.HOUR_OF_DAY)をいう情報が有りましたが、どのように使用したらいいかもわかりません ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/24 11:58
2020/02/25 00:16 編集
2020/02/25 00:45
2020/02/25 04:56
2020/02/26 16:02 編集
2020/02/27 01:51
2020/02/27 04:53
2020/02/27 05:40
2020/02/28 12:42 編集
2020/03/03 00:26