質問編集履歴

2

変更点を修正しました。

2021/10/06 05:29

投稿

bibi_popo
bibi_popo

スコア2

test CHANGED
File without changes
test CHANGED
@@ -256,62 +256,4 @@
256
256
 
257
257
  の様々な箇所に変えてみましたが昨日しませんでした。
258
258
 
259
-
260
-
261
- ### 補足情報(FW/ツールのバージョンなど)
262
-
263
-
264
-
265
- 複数の参考書を参照してコードを作成しておりますが、素人のため、
266
-
267
- 初歩的なミスであれば大変恐縮です。
268
-
269
- ### 前提・実現したいこと
270
-
271
-
272
-
273
- ここに質問の内容を詳しく書いてください。
274
-
275
- (例)PHP(CakePHP)で●●なシステムを作っています。
276
-
277
- ■■な機能を実装中以下のエラーッセ発生しました。
259
+ ⇒上記コード変更しましたが、メー送信されなくなってしまいました。
278
-
279
-
280
-
281
- ### 発生している問題・エラーメッセージ
282
-
283
-
284
-
285
- ```
286
-
287
- エラーメッセージ
288
-
289
- ```
290
-
291
-
292
-
293
- ### 該当のソースコード
294
-
295
-
296
-
297
- ```ここに言語名を入力
298
-
299
- ソースコード
300
-
301
- ```
302
-
303
-
304
-
305
- ### 試したこと
306
-
307
-
308
-
309
- ここに問題に対して試したことを記載してください。
310
-
311
-
312
-
313
- ### 補足情報(FW/ツールのバージョンなど)
314
-
315
-
316
-
317
- ここにより詳細な情報を記載してください。

1

書き換えたコードを記載しました。

2021/10/06 05:29

投稿

bibi_popo
bibi_popo

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,236 +1,280 @@
1
+ ```### 前提・実現したいこと
2
+
3
+
4
+
5
+ スプレッドシートで対応状況の管理をしています。
6
+
7
+ ステータスが対応中、完了に変更された場合にメールで自動通知を行う際に
8
+
9
+ 違うメール文にて送付をしたいです。
10
+
11
+ 作成したGASは下記の通り
12
+
13
+
14
+
15
+ ```
16
+
17
+
18
+
19
+ コード
20
+
21
+ ```
22
+
23
+ function onChangeStatus(e){
24
+
25
+ var cell = e.range;
26
+
27
+ var status = e.value;
28
+
29
+ var sheet = cell.getSheet();
30
+
31
+ var column = cell.getColumn();
32
+
33
+ var row = cell.getRow();
34
+
35
+ var lastRow = sheet.getLastRow();
36
+
37
+
38
+
39
+ if(column === 18 && row >= 2 && row <= lastRow && status === '対応中'){
40
+
41
+ sendEmail(row);
42
+
43
+ }else if(column === 18 && row >= 2 && row <= lastRow && status === '完了'){
44
+
45
+ sendEmail(column);}
46
+
47
+ }
48
+
49
+ function sendEmail(row,column){
50
+
51
+
52
+
53
+ var FIELDS = {
54
+
55
+ no: 0,
56
+
57
+ task: 9,
58
+
59
+ status: 4,
60
+
61
+ client: 5,
62
+
63
+ agent: 6,
64
+
65
+ policy: 8,
66
+
67
+ limit: 10,
68
+
69
+ tel: 11,
70
+
71
+ memo: 13,
72
+
73
+ tantou: 14,
74
+
75
+ taiou: 16,
76
+
77
+ }
78
+
79
+
80
+
81
+ var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
82
+
83
+ var index = row - 1;
84
+
85
+ var myNo = values[index][FIELDS.no];
86
+
87
+ var task = values[index][FIELDS.task];
88
+
89
+ var status = values[index][FIELDS.status];
90
+
91
+ var client = values[index][FIELDS.client];
92
+
93
+ var agent = values[index][FIELDS.agent];
94
+
95
+ var policy = values[index][FIELDS.policy];
96
+
97
+ var limit = values[index][FIELDS.limit];
98
+
99
+ var memo = values[index][FIELDS.memo];
100
+
101
+ var tantou = values[index][FIELDS.tantou];
102
+
103
+ var taiou = values[index][FIELDS.taiou];
104
+
105
+
106
+
107
+ if(column === 18 && row >= 2 && row <= lastRow && status === '対応中'){
108
+
109
+ sendEmail(row)
110
+
111
+ var recipient = 'アドレス';
112
+
113
+ var recipientName = '各位';
114
+
115
+ var subject = '';
116
+
117
+ subject += limit;
118
+
119
+ subject += '受電記録 代理店';
120
+
121
+ subject += agent;
122
+
123
+
124
+
125
+ var body = '';
126
+
127
+ body += recipientName + '\n\n';
128
+
129
+ body += '※※このメールは自動送信です。※※\n\n';
130
+
131
+ body += '以下の問い合わせを受け付けしました\n';
132
+
133
+ body += '担当者の方は対応をお願いいたします。\n\n';
134
+
135
+ body += '**********************************\n';
136
+
137
+ body += '【受付番号】\n';
138
+
139
+ body += myNo;
140
+
141
+ body += '\n\n';
142
+
143
+ body += '【契約者】\n';
144
+
145
+ body += client;
146
+
147
+ body += '\n\n';
148
+
149
+ body += '【代理店】\n';
150
+
151
+ body += agent;
152
+
153
+ body += '\n\n';
154
+
155
+ body += '【証券番号】\n';
156
+
157
+ body += policy;
158
+
159
+ body += '\n\n';
160
+
161
+ body += '【依頼内容】\n';
162
+
163
+ body += task;
164
+
165
+ body += '\n\n';
166
+
167
+ body += '【対応期限】\n';
168
+
169
+ body += limit;
170
+
171
+ body += '\n\n';
172
+
173
+ body += '【備考】\n';
174
+
175
+ body += memo;
176
+
177
+ body += '\n\n';
178
+
179
+ body += '**********************************\n\n';
180
+
181
+ body += '対応が完了した際は、スプレッドシートのステータスを完了にしてください。\n';
182
+
183
+ body += 'URL';
184
+
185
+
186
+
187
+ GmailApp.sendEmail(recipient, subject, body);
188
+
189
+ }else if(column === 18 && row >= 2 && row <= lastRow && status === '完了'){
190
+
191
+ sendEmail(column)
192
+
193
+ var recipient = 'アドレス';
194
+
195
+ var recipientName = '各位';
196
+
197
+ var subject = '';
198
+
199
+ subject += '受電対応完了 代理店';
200
+
201
+ subject += agent;
202
+
203
+ var body = '';
204
+
205
+ body += recipientName + '\n\n';
206
+
207
+ body += '※※このメールは自動送信です。※※\n\n';
208
+
209
+ body += '以下の問い合わせ対応が完了しました。\n';
210
+
211
+ body += '**********************************\n';
212
+
213
+ body += '【受付番号】\n';
214
+
215
+ body += myNo;
216
+
217
+ body += '\n\n';
218
+
219
+ body += '【対応者】\n';
220
+
221
+ body += tantou;
222
+
223
+ body += '\n\n';
224
+
225
+ body += '【対応内容】\n';
226
+
227
+ body += taiou;
228
+
229
+ body += '\n\n';
230
+
231
+ body += '**********************************\n\n';
232
+
233
+ body += 'URL';
234
+
235
+ GmailApp.sendEmail(recipient, subject, body);
236
+
237
+ }
238
+
239
+ }
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ ```### 試したこと
252
+
253
+
254
+
255
+ if分の挿入箇所に迷い、onChangeStates、sendEmail
256
+
257
+ の様々な箇所に変えてみましたが昨日しませんでした。
258
+
259
+
260
+
261
+ ### 補足情報(FW/ツールのバージョンなど)
262
+
263
+
264
+
265
+ 複数の参考書を参照してコードを作成しておりますが、素人のため、
266
+
267
+ 初歩的なミスであれば大変恐縮です。
268
+
1
269
  ### 前提・実現したいこと
2
270
 
3
271
 
4
272
 
273
+ ここに質問の内容を詳しく書いてください。
274
+
5
- プレッドシートで対応状況の管理ています。
275
+ (例)PHP(CakePHP)で●●なシテム作っています。
6
-
7
- ステータスが対応中、完了に変更された場合にメールで自動通知を行う際に
276
+
8
-
9
- 違うメール文にて送付をしたいです。
10
-
11
- 作成したGAS
12
-
13
- ```function onChangeStatus(e){
14
-
15
- var cell = e.range;
16
-
17
- var status = e.value;
18
-
19
- var sheet = cell.getSheet();
20
-
21
- var column = cell.getColumn();
22
-
23
- var row = cell.getRow();
24
-
25
- var lastRow = sheet.getLastRow();
26
-
27
-
28
-
29
- if(column === 18 && row >= 2 && row <= lastRow && status === '対応中' || '完了'){
30
-
31
- sendEmail(row);
32
-
33
- }
34
-
35
-
36
-
37
- }
38
-
39
- function sendEmail(row){
40
-
41
-
42
-
43
- var FIELDS = {
44
-
45
- no: 0,
46
-
47
- task: 9,
48
-
49
- status: 4,
50
-
51
- client: 5,
52
-
53
- agent: 6,
54
-
55
- policy: 8,
56
-
57
- limit: 10,
58
-
59
- tel: 11,
60
-
61
- memo: 13,
62
-
63
- tantou: 14,
64
-
65
- taiou: 16,
66
-
67
- }
68
-
69
-
70
-
71
- var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
72
-
73
- var index = row - 1;
74
-
75
- var myNo = values[index][FIELDS.no];
76
-
77
- var task = values[index][FIELDS.task];
78
-
79
- var status = values[index][FIELDS.status];
80
-
81
- var client = values[index][FIELDS.client];
82
-
83
- var agent = values[index][FIELDS.agent];
84
-
85
- var policy = values[index][FIELDS.policy];
86
-
87
- var limit = values[index][FIELDS.limit];
88
-
89
- var memo = values[index][FIELDS.memo];
90
-
91
- var tantou = values[index][FIELDS.tantou];
92
-
93
- var taiou = values[index][FIELDS.taiou];
94
-
95
-
96
-
97
-
98
-
99
- if(column === 18 && row >= 2 && row <= lastRow && status === '対応中'){
100
-
101
- var recipient = 'アドレス';
102
-
103
- var recipientName = '各位';
104
-
105
- var subject = '';
106
-
107
- subject += limit;
108
-
109
- subject += '受電記録 AG';
110
-
111
- subject += agent;
112
-
113
-
114
-
115
- var body = '';
116
-
117
- body += recipientName + '\n\n';
118
-
119
- body += '※※このメールは自動送信です。※※\n\n';
120
-
121
- body += '以下の問い合わせを受け付けしました\n';
122
-
123
- body += '担当者の方は対応をお願いいたします。\n\n';
124
-
125
- body += '**********************************\n';
126
-
127
- body += '【受付番号】\n';
128
-
129
- body += myNo;
130
-
131
- body += '\n\n';
132
-
133
- body += '【契約者】\n';
134
-
135
- body += client;
136
-
137
- body += '\n\n';
138
-
139
- body += '【AG】\n';
140
-
141
- body += agent;
142
-
143
- body += '\n\n';
144
-
145
- body += '【番号】\n';
146
-
147
- body += policy;
148
-
149
- body += '\n\n';
150
-
151
- body += '【依頼内容】\n';
152
-
153
- body += task;
154
-
155
- body += '\n\n';
156
-
157
- body += '【対応期限】\n';
158
-
159
- body += limit;
160
-
161
- body += '\n\n';
162
-
163
- body += '【備考】\n';
164
-
165
- body += memo;
166
-
167
- body += '\n\n';
168
-
169
- body += '**********************************\n\n';
170
-
171
- body += '対応が完了した際は、スプレッドシートのステータスを完了にしてください。\n';
172
-
173
- body += 'URL'
174
-
175
- }else if(column === 18 && row >= 2 && row <= lastRow && status === '完了'){
176
-
177
- var recipient = 'アドレス';
178
-
179
- var recipientName = '各位';
180
-
181
- var subject = '';
182
-
183
- subject += '受電対応完了 代理店';
184
-
185
- subject += agent;
186
-
187
- var body = '';
188
-
189
- body += recipientName + '\n\n';
190
-
191
- body += '※※このメールは自動送信です。※※\n\n';
192
-
193
- body += '以下の問い合わせ対応が完了しました。\n';
194
-
195
- body += '**********************************\n';
196
-
197
- body += '【受付番号】\n';
198
-
199
- body += myNo;
200
-
201
- body += '\n\n';
202
-
203
- body += '【対応者】\n';
204
-
205
- body += tantou;
206
-
207
- body += '\n\n';
208
-
209
- body += '【対応内容】\n';
210
-
211
- body += taiou;
212
-
213
- body += '\n\n';
214
-
215
- body += '**********************************\n\n';
216
-
217
- body += 'URL'
218
-
219
-
220
-
221
- }
222
-
223
-
224
-
225
-
226
-
227
- GmailApp.sendEmail(recipient, subject, body);
228
-
229
- }
230
-
231
- コード
232
-
233
- ```」いずれかのみとするGASは機能するのですが、22条とする場合、件中に以下のエラーメッセージが発生しました。
277
+ ■■な機能を実装中に以下のエラーメッセージが発生しました。
234
278
 
235
279
 
236
280
 
@@ -240,7 +284,7 @@
240
284
 
241
285
  ```
242
286
 
243
- ReferenceError: column is not defined
287
+ エラーメッセージ
244
288
 
245
289
  ```
246
290
 
@@ -252,9 +296,7 @@
252
296
 
253
297
  ```ここに言語名を入力
254
298
 
255
- at sendEmail(コード:44:3)
299
+ ソースコード
256
-
257
- at onChangeStatus(コード:10:5)
258
300
 
259
301
  ```
260
302
 
@@ -264,9 +306,7 @@
264
306
 
265
307
 
266
308
 
267
- if分の挿入箇所に迷い、onChangeStates、sendEmail
268
-
269
- の様々な箇所変えみましたが昨日ませんでした
309
+ ここ問題に対ししたことを記載てください
270
310
 
271
311
 
272
312
 
@@ -274,6 +314,4 @@
274
314
 
275
315
 
276
316
 
277
- 複数の参考書を参照してコードを作成しておりますが、素人のため、
278
-
279
- 初歩的ミスであれば大変恐縮です
317
+ ここにより詳細情報を記載してください