質問編集履歴
5
個人情報を削除しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -47,7 +47,7 @@
|
|
47
47
|
現在のコード状況
|
48
48
|
ーーーーーーーーーーーーーーーー
|
49
49
|
function registerCalendar() {
|
50
|
-
var calendar= CalendarApp.getCalendarById('
|
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
個人情報を削除しました。
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
個人情報を削除しました。
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('
|
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
タイトルの変更
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
エラーコードの添付とスプレットシートを編集した結果の記載
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
-
|
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
|
+
どうかお力添えお願いいたします。
|