質問編集履歴

5

個人情報を削除しました。

2022/06/17 03:27

投稿

PANDA30271
PANDA30271

スコア2

test CHANGED
File without changes
test CHANGED
@@ -47,7 +47,7 @@
47
47
  現在のコード状況
48
48
  ーーーーーーーーーーーーーーーー
49
49
  function registerCalendar() {
50
- var calendar= CalendarApp.getCalendarById('PANDA30271');
50
+ var calendar= CalendarApp.getCalendarById('GoogleID●●');
51
51
  var sheet = SpreadsheetApp.getActiveSheet();
52
52
  var lastRow = sheet .getLastRow();
53
53
  var contents = sheet.getRange(`A2:E${lastRow}`).getValues();

4

個人情報を削除しました。

2022/06/17 03:16

投稿

PANDA30271
PANDA30271

スコア2

test CHANGED
File without changes
test CHANGED
@@ -5,7 +5,7 @@
5
5
  TypeError: Cannot read property 'getHours' of undefined startTime
6
6
 
7
7
  function registerCalendar() {
8
- var calendar= CalendarApp.getCalendarById('Googleid●●');
8
+ var calendar= CalendarApp.getCalendarById('Googleid●●');
9
9
  var sheet = SpreadsheetApp.getActiveSheet();
10
10
  var lastRow = sheet .getLastRow();
11
11
  var contents = sheet.getRange(`A2:E${lastRow}`).getValues();

3

個人情報を削除しました。

2022/06/17 03:13

投稿

PANDA30271
PANDA30271

スコア2

test CHANGED
File without changes
test CHANGED
@@ -5,7 +5,7 @@
5
5
  TypeError: Cannot read property 'getHours' of undefined startTime
6
6
 
7
7
  function registerCalendar() {
8
- var calendar= CalendarApp.getCalendarById('PANDA30271');
8
+ var calendar= CalendarApp.getCalendarById('Googleid●●');
9
9
  var sheet = SpreadsheetApp.getActiveSheet();
10
10
  var lastRow = sheet .getLastRow();
11
11
  var contents = sheet.getRange(`A2:E${lastRow}`).getValues();

2

タイトルの変更

2022/06/16 15:22

投稿

PANDA30271
PANDA30271

スコア2

test CHANGED
@@ -1 +1 @@
1
- スプレッドシートとカレンダー連携のプログラミングについて[getHours]
1
+ スプレッドシートとカレンダー連携のプログラミングについて[getHours][createEvent]
test CHANGED
@@ -69,7 +69,7 @@
69
69
  endDateObj.setHours(endTime.getHours());
70
70
  endDateObj.setMinutes(endTime.getMinutes());
71
71
 
72
- calendar.createEvent(title,startDateObj,endDateObj );
72
+ calendar.createEvent(title,startDateObj,endDateObj ); #エラー箇所
73
73
  }
74
74
  sheet.getRange(`A${i + 2}`).setValue("TRUE");
75
75
  }

1

エラーコードの添付とスプレットシートを編集した結果の記載

2022/06/16 15:20

投稿

PANDA30271
PANDA30271

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,9 @@
1
- スプレッドシートとカレンダー連携させたいのですがgetHoursでエラーが出てしまいます。
1
+
2
2
 
3
3
  ```html
4
+ スプレッドシートとカレンダー連携させたいのですがgetHoursでエラーが出てしまいます。
5
+ TypeError: Cannot read property 'getHours' of undefined startTime
6
+
4
7
  function registerCalendar() {
5
8
  var calendar= CalendarApp.getCalendarById('PANDA30271');
6
9
  var sheet = SpreadsheetApp.getActiveSheet();
@@ -31,8 +34,62 @@
31
34
  }
32
35
 
33
36
 
34
- ```
37
+
35
38
 
36
39
  周囲の間違えを探して見たのですが実行できません。
37
40
  何を間違えてしまっているのか、ご指導お願いいたします。
41
+ ```
42
+ >>>上記はスプレットシートの時間に当てはまる列の書式を時間に変えることで解決できました。しかし、まだエラーが出ています。
38
43
 
44
+ `TypeError: Cannot read property 'createEvent' of null
45
+ registerCalendar @ コード.gs:24`
46
+ ```html
47
+ 現在のコード状況
48
+ ーーーーーーーーーーーーーーーー
49
+ function registerCalendar() {
50
+ var calendar= CalendarApp.getCalendarById('PANDA30271');
51
+ var sheet = SpreadsheetApp.getActiveSheet();
52
+ var lastRow = sheet .getLastRow();
53
+ var contents = sheet.getRange(`A2:E${lastRow}`).getValues();
54
+
55
+ for(var i=0; i < contents.length; i++){
56
+ var[status, day, title, startTime, endTime]=contents[i];
57
+ if(status=='TRUE'){
58
+ continue;
59
+ }
60
+ var date=new Date(day);
61
+ if(startTime=="" || endTime==""){
62
+ calendar.createAllDayEvent(title, date)
63
+ }else{
64
+ var startDateObj = new Date(day);
65
+ startDateObj.setHours(startTime.getHours());
66
+ startDateObj.setMinutes(startTime.getMinutes());
67
+
68
+ var endDateObj = new Date(day);
69
+ endDateObj.setHours(endTime.getHours());
70
+ endDateObj.setMinutes(endTime.getMinutes());
71
+
72
+ calendar.createEvent(title,startDateObj,endDateObj );
73
+ }
74
+ sheet.getRange(`A${i + 2}`).setValue("TRUE");
75
+ }
76
+ }
77
+ ```
78
+ 使用しているスプレットシートは下記の表です。
79
+ ※titleに人物名が入るようにしたいです。
80
+
81
+ |連携済 |日付 |名前(title)|開始 |終了|
82
+ |:--|:--:|--:|:--|:--:|
83
+ |□ |2022/0601 |山田 花子 |10:00:00 |18:00:00|
84
+ |□ |2022/0602 |山田 花子 |16:00:00 |19:00:00|
85
+ |□ |2022/0603 |山田 花子 |16:30:00 |20:00:00|
86
+ |□ |2022/0604 |山田 花子 |16:30:00 |20:00:00|
87
+ |□ |2022/0601 |鈴木 太郎 |9:00:00 |18:00:00|
88
+ |□ |2022/0603 |鈴木 太郎 |16:30:00 |19:00:00|
89
+
90
+
91
+ >>>自分で試したこと
92
+ createEvent()について検索をかけて他の方の作ったコードと違いを見て見たりしましたが原因がわかりませんでした。
93
+
94
+ 自分では解決できそうにありません。
95
+ どうかお力添えお願いいたします。