質問編集履歴

3

設定時間超のコード追加

2019/11/15 04:58

投稿

KPS
KPS

スコア8

test CHANGED
File without changes
test CHANGED
@@ -115,3 +115,95 @@
115
115
  }
116
116
 
117
117
  ```
118
+
119
+ 上記のは完成いたしました。
120
+
121
+ ありがとうございます。
122
+
123
+ 178時間を超えたらラインする(超えない場合は作動しない)というGASがラインは送信してるのすが、コードがうまくいきません。
124
+
125
+ よろしくお願いいたします。スプレッドシート内は
126
+
127
+ 名前 時間
128
+
129
+ ①   0
130
+
131
+ ②   0
132
+
133
+ ③   0
134
+
135
+ ④   0 
136
+
137
+ ⑤   0
138
+
139
+ と記入されてるシートしか使っておりません。
140
+
141
+ ```
142
+
143
+ var today = new Date();
144
+
145
+ var date = new Date(today.getFullYear(), today.getMonth(), 1);
146
+
147
+
148
+
149
+
150
+
151
+ function myFunction() {
152
+
153
+
154
+
155
+ var sheet = SpreadsheetApp.getActiveSpreadsheet();
156
+
157
+ var sheet = SpreadsheetApp.openById("スプレッドシートID");
158
+
159
+ var sheet = Spreadsheet.getSheetByName("就業")
160
+
161
+
162
+
163
+ var range = sheet.getRange("A2:B8");
164
+
165
+ Logger.log(range.getValues());
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ }
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+ // LINE notifyへの通知
184
+
185
+ function sendHttpPost(content){
186
+
187
+ var token = "ライントークン";
188
+
189
+ var options =
190
+
191
+ {
192
+
193
+ "method" : "post",
194
+
195
+ "payload" : "message=" + content,
196
+
197
+ "headers" : {"Authorization" : "Bearer "+ token}
198
+
199
+
200
+
201
+ };
202
+
203
+
204
+
205
+ UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
206
+
207
+ }
208
+
209
+ ```

2

コードの修正をしました。

2019/11/15 04:58

投稿

KPS
KPS

スコア8

test CHANGED
File without changes
test CHANGED
@@ -18,148 +18,100 @@
18
18
 
19
19
 
20
20
 
21
- var date = DATE(YEAR(TODAY()),MONTH(TODAY()),1);
21
+ ```
22
22
 
23
+ var date = DATE(YEAR(TODAY()),MONTH(TODAY()),1);
23
24
 
25
+ var sheet = SpreadsheetApp.getActiveSpreadsheet();
24
26
 
25
- var sheet = SpreadsheetApp.getActiveSpreadsheet();
27
+ var calendarId = sheet.setActiveSheet(sheet.getSheetByName("Calendar_ID"));
26
28
 
29
+ var calendarItem = sheet.setActiveSheet(sheet.getSheetByName("Calendar_Item"));
27
30
 
31
+ function getId(){
28
32
 
29
- var calendarId = sheet.setActiveSheet(sheet.getSheetByName("Calendar_ID"));
33
+ calendarItem.clear();
30
34
 
35
+ calendarItem.getRange('A'+(1)).setValue('カレンダーID');
31
36
 
37
+ calendarItem.getRange('B'+(1)).setValue('タイトル');
32
38
 
33
- var calendarItem = sheet.setActiveSheet(sheet.getSheetByName("Calendar_Item"));
39
+ calendarItem.getRange('C'+(1)).setValue('開始時刻');
34
40
 
35
-
41
+ calendarItem.getRange('D'+(1)).setValue('終了時刻');
36
42
 
37
-
43
+ calendarItem.getRange('E'+(1)).setValue('所要時間');
38
44
 
39
- function getId(){
45
+ var lastR1 = calendarId.getLastRow();
40
46
 
41
-
47
+ Logger.log("【lastR】:" + lastR1);
42
48
 
43
- calendarItem.clear();
49
+ for (var i = 1; i < lastR1 ; i++){
44
50
 
45
-
51
+ var lastR2 = calendarItem.getLastRow();
46
52
 
47
- calendarItem.getRange('A'+(1)).setValue('カレンダーID');
53
+ Logger.log("【lastR】:" + lastR2);
48
54
 
49
- calendarItem.getRange('B'+(1)).setValue('タイトル');
55
+ var calId = calendarId.getRange('A'+(i+1)).getValue();
50
56
 
51
- calendarItem.getRange('C'+(1)).setValue('開始時刻');
57
+ Logger.log('【calId】' + calId);
52
58
 
53
- calendarItem.getRange('D'+(1)).setValue('終了時刻');
54
-
55
- calendarItem.getRange('E'+(1)).setValue('所要時間');
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
- var lastR1 = calendarId.getLastRow();
64
-
65
- Logger.log("【lastR】:" + lastR1);
66
-
67
-
68
-
69
-
70
-
71
- for (var i = 1; i < lastR1 ; i++){
72
-
73
-
74
-
75
- var lastR2 = calendarItem.getLastRow();
76
-
77
- Logger.log("【lastR】:" + lastR2);
78
-
79
-
80
-
81
-
82
-
83
- var calId = calendarId.getRange('A'+(i+1)).getValue();
84
-
85
- Logger.log('【calId】' + calId);
86
-
87
- getCal(calId,lastR2);
59
+ getCal(calId,lastR2);
88
-
89
- }
90
60
 
91
61
  }
92
62
 
93
-
63
+ }
94
64
 
95
65
  function getCal(id,lastR) {
96
66
 
97
- Logger.log('【id】' + id);
67
+ Logger.log('【id】' + id);
98
68
 
99
- Logger.log('【lastR】' + lastR);
69
+ Logger.log('【lastR】' + lastR);
100
70
 
101
-
71
+ var calendar = CalendarApp.getCalendarById(id);
102
72
 
103
- var calendar = CalendarApp.getCalendarById(id);
73
+ var from= new Date(date); 
104
74
 
105
-
75
+ var end = new Date(date);
106
76
 
107
-
77
+ end.setMonth(end.getMonth()+1);
108
78
 
109
- var from= new Date(date); 
79
+ var events = calendar.getEvents(from, end);
110
80
 
111
- var end = new Date(date);
81
+ for (var i = 0; i < events.length; i++) {
112
82
 
113
-
83
+ Logger.log('events要素' + i + '目');
114
84
 
115
-
85
+ var title = events[i].getTitle();
116
86
 
117
- end.setMonth(end.getMonth()+1);
87
+ var startTime = events[i].getStartTime();
118
88
 
119
-
89
+ var endTime = events[i].getEndTime();
120
90
 
121
- var events = calendar.getEvents(from, end);
91
+ var duration = (endTime - startTime) /(1000*60)/(60);
122
92
 
123
-
93
+ var detail = events[i].getDescription();
124
94
 
125
-
95
+ var location = events[i].getLocation();
126
96
 
127
- for (var i = 0; i < events.length; i++) {
97
+ calendarItem.getRange('A'+(lastR+1)).setValue(id);
128
98
 
129
- Logger.log('events要素' + i + '目');
99
+ calendarItem.getRange('B'+(lastR+1)).setValue(title);
130
100
 
131
- var title = events[i].getTitle();
101
+ calendarItem.getRange('C'+(lastR+1)).setValue(startTime).setNumberFormat('yyyy/mm/dd hh:mm');
132
102
 
133
- var startTime = events[i].getStartTime();
103
+ calendarItem.getRange('D'+(lastR+1)).setValue(endTime).setNumberFormat('yyyy/mm/dd hh:mm');
134
104
 
135
- var endTime = events[i].getEndTime();
105
+ calendarItem.getRange('E'+(lastR+1)).setValue(duration);
136
106
 
137
- var duration = (endTime - startTime) /(1000*60)/(60);
107
+ //calendarItem.getRange('E'+(lastR+1)).setValue(detail);
138
108
 
139
- var detail = events[i].getDescription();
109
+ calendarItem.getRange('G'+(lastR+1)).setValue(location);
140
110
 
141
- var location = events[i].getLocation();
142
-
143
-
144
-
145
-
146
-
147
- calendarItem.getRange('A'+(lastR+1)).setValue(id);
148
-
149
- calendarItem.getRange('B'+(lastR+1)).setValue(title);
150
-
151
- calendarItem.getRange('C'+(lastR+1)).setValue(startTime).setNumberFormat('yyyy/mm/dd hh:mm');
152
-
153
- calendarItem.getRange('D'+(lastR+1)).setValue(endTime).setNumberFormat('yyyy/mm/dd hh:mm');
154
-
155
- calendarItem.getRange('E'+(lastR+1)).setValue(duration);
156
-
157
- //calendarItem.getRange('E'+(lastR+1)).setValue(detail);
158
-
159
- calendarItem.getRange('G'+(lastR+1)).setValue(location);
160
-
161
- lastR = lastR + 1;
111
+ lastR = lastR + 1;
162
-
163
- }
164
112
 
165
113
  }
114
+
115
+ }
116
+
117
+ ```

1

DATEコードの変更、質問事項の変更

2019/11/14 07:16

投稿

KPS
KPS

スコア8

test CHANGED
File without changes
test CHANGED
@@ -6,17 +6,19 @@
6
6
 
7
7
  毎月の予定を自動更新
8
8
 
9
- カレンダーネーム事の就業時間計算
10
-
11
9
  就業時間が月178時間を超えたらグループラインに通知です。
12
10
 
13
11
 
14
12
 
15
13
  よろしくお願いいたします。
16
14
 
17
- ```ここに言語を入力
15
+ エラーが出ているのは一番上の所です。
18
16
 
17
+ その月の1日からカレンダーを取得して次の月に入った時はクリアーにしたいのです。
18
+
19
+
20
+
19
- コードvar date = '2019/11/01';
21
+ var date = DATE(YEAR(TODAY()),MONTH(TODAY()),1);
20
22
 
21
23
 
22
24
 
@@ -36,11 +38,11 @@
36
38
 
37
39
  function getId(){
38
40
 
39
-
41
+
40
42
 
41
43
  calendarItem.clear();
42
44
 
43
-
45
+
44
46
 
45
47
  calendarItem.getRange('A'+(1)).setValue('カレンダーID');
46
48
 
@@ -52,9 +54,7 @@
52
54
 
53
55
  calendarItem.getRange('E'+(1)).setValue('所要時間');
54
56
 
55
- calendarItem.getRange('F'+(1)).setValue('詳細');
57
+
56
-
57
- calendarItem.getRange('G'+(1)).setValue('住所');
58
58
 
59
59
 
60
60
 
@@ -78,7 +78,7 @@
78
78
 
79
79
 
80
80
 
81
-
81
+
82
82
 
83
83
  var calId = calendarId.getRange('A'+(i+1)).getValue();
84
84
 
@@ -104,23 +104,25 @@
104
104
 
105
105
 
106
106
 
107
-
107
+
108
108
 
109
109
  var from= new Date(date); 
110
110
 
111
111
  var end = new Date(date);
112
112
 
113
-
113
+
114
+
115
+
114
116
 
115
117
  end.setMonth(end.getMonth()+1);
116
118
 
117
-
119
+
118
120
 
119
121
  var events = calendar.getEvents(from, end);
120
122
 
121
123
 
122
124
 
123
-
125
+
124
126
 
125
127
  for (var i = 0; i < events.length; i++) {
126
128
 
@@ -140,7 +142,7 @@
140
142
 
141
143
 
142
144
 
143
-
145
+
144
146
 
145
147
  calendarItem.getRange('A'+(lastR+1)).setValue(id);
146
148
 
@@ -161,7 +163,3 @@
161
163
  }
162
164
 
163
165
  }
164
-
165
-
166
-
167
- ****