質問編集履歴

3

自己解決済

2020/03/25 08:28

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Googleフォーム回答選択肢に応じて通知メールの送信先変更した
1
+ 自己解決済:Googleフォーム回答送信先変更につ
test CHANGED
File without changes

2

自己解決したため取り下げ

2020/03/25 08:28

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,255 +1,3 @@
1
- ### 前提・実現したいこと
1
+ こちら、自己解決ましので取り下げさせてただきます。
2
2
 
3
-
4
-
5
- [こちら](https://tonari-it.com/gas-workflow-form-gmail-spreadsheet/)を参照して、Googleフォームで「出張承認申請」のワークフローを作成しています。
6
-
7
- 作成したワークフロー自体は動くのですが、以下機能を追加する方法が分からず、質問させてください。
8
-
9
- Googleフォーム内に質問「承認する上長」・回答「各部署の上長の名前」を設け、
10
-
11
- 質問の回答(各上長の名前)ごとに、各上長のメールアドレスに通知が行くようにしたいです。
12
-
13
-
14
-
15
- ### 該当のソースコード
16
-
17
- ```
18
-
19
- function generateBodies(values){
20
-
21
- var name = values[1];
22
-
23
- var destination = values[2];
24
-
25
- var purpose = values[3];
26
-
27
- var startdate = values[4];
28
-
29
- var enddate = values[5];
30
-
31
- var private = values[6];
32
-
33
- var ticket = values[7];
34
-
35
- var boss = values[8];
36
-
37
-
38
-
39
- var plain = '';
40
-
41
- plain += '・お名前: ' + name + '\n';
42
-
43
- plain += '・出張先: ' + destination + '\n';
44
-
45
- plain += '・出張目的: ' + purpose + ' \n';
46
-
47
- plain += '・出張開始日: ' + startdate + '\n';
48
-
49
- plain += '・出張終了日: ' + enddate + ' \n\n';
50
-
51
- plain += '・プライベート経路: ' + private + '\n';
52
-
53
- plain += '・回数券使用枚数: ' + ticket + '\n';
54
-
55
- plain += '・承認する上長: ' + boss + '\n';
56
-
57
-
58
-
59
- var html = '<ul>';
60
-
61
- html += '<li>お名前: ' + name + '</li>';
62
-
63
- html += '<li>出張先: ' + destination + '</li>';
64
-
65
- html += '<li>出張目的: ' + purpose + '</li>';
66
-
67
- html += '<li>出張開始日: ' + startdate + '</li>';
68
-
69
- html += '<li>出張終了日: ' + enddate + '</li>';
70
-
71
- html += '<li>プライベート経路: ' + private + '</li>';
72
-
73
- html += '<li>回数券使用枚数: ' + ticket + '</li>';
74
-
75
- html += '<li>承認する上長: ' + boss + '</li>';
76
-
77
- html += '</ul>';
78
-
79
-
80
-
81
- return {
82
-
83
- plain: plain,
84
-
85
- html: html
86
-
87
- };
88
-
89
- }
90
-
91
-
92
-
93
-
94
-
95
- function sendMessage(e) {
96
-
97
-
98
-
99
- var row = e.range.getRow();
100
-
101
- var sheet = e.range.getSheet();
102
-
103
- sheet.getRange(row, 11).setValue('確認中');
104
-
105
- var bodies = generateBodies(e.values);
106
-
107
-
108
-
109
- var url = 'https://script.google.com/~~~~~/exec'; //公開したウェブアプリケーションのURL
110
-
111
- url += '?row=' + row + '&answer=';
112
-
113
-
114
-
115
- var recipient = 'xxxx@xxxx.xxx'; //送信先メールアドレス
116
-
117
- var subject = '出張承認申請のお知らせ';
118
-
119
-
120
-
121
- var body = '';
122
-
123
- body += '以下の出張承認申請がありました。\n\n';
124
-
125
- body += bodies.plain;
126
-
127
- body += '承認する場合は、以下URLをクリックしてください\n';
128
-
129
- body += url + 'ok';
130
-
131
- body += '否認する場合は、以下URLをクリックしてください\n';
132
-
133
- body += url + 'ng';
134
-
135
-
136
-
137
- var html = '';
138
-
139
- html += '<h1>出張承認申請のお知らせ</h1>';
140
-
141
- html += '<p>以下の出張承認申請がありました。</p>';
142
-
143
- html += bodies.html;
144
-
145
- html += '<p>承認する場合は、<a href="' + url + 'ok">[承認]</a>をクリックしてください</p>';
146
-
147
- html += '<p>否認する場合は、<a href="' + url + 'ng">[否認]</a>をクリックしてください</p>';
148
-
149
-
150
-
151
- GmailApp.sendEmail(recipient, subject, body, { htmlBody: html });
152
-
153
-
154
-
155
- }
156
-
157
-
158
-
159
-
160
-
161
- function doGet(e) {
162
-
163
-
164
-
165
- var row = e.parameter.row;
166
-
167
- var sheet = SpreadsheetApp.getActiveSheet();
168
-
169
- var values = sheet.getRange(row, 1, 1, 11).getValues()[0];
170
-
171
- var bodies = generateBodies(values);
172
-
173
-
174
-
175
- var answer = e.parameter.answer;
176
-
177
- var result = {
178
-
179
- ok: '承認',
180
-
181
- ng: '否認'
182
-
183
- };
184
-
185
-
186
-
187
- if(answer){
188
-
189
- sheet.getRange(row, 11).setValue(result[answer]);
190
-
191
-
192
-
193
-
194
-
195
- var recipient = values[9];
196
-
197
- var subject = '出張承認申請' + result[answer] + 'のお知らせ';
198
-
199
-
200
-
201
- var body = '';
202
-
203
- body += '以下の出張承認申請が' + result[answer] + 'されました。\n\n';
204
-
205
- body += bodies.plain;
206
-
207
-
208
-
209
- var html = '';
210
-
211
- html += '<h1>出張承認申請' + result[answer] + 'のお知らせ</h1>';
212
-
213
- html += '<p>以下の出張承認申請が' + result[answer] + 'されました。</p>';
214
-
215
- html += bodies.html;
216
-
217
-
218
-
219
- GmailApp.sendEmail(recipient, subject, body, { htmlBody: html });
220
-
221
-
222
-
223
- var html = '';
224
-
225
- html += '<h1>出張承認申請の' + result[answer] + '</h1>';
226
-
227
- html += '<p>あなたは以下の出張承認申請を' + result[answer] + 'しました</p>';
228
-
229
- html += bodies.html;
230
-
231
-
232
-
233
- return HtmlService.createHtmlOutput(html);
234
-
235
- }
236
-
237
- }
238
-
239
- ```
240
-
241
-
242
-
243
- ### 試したこと
244
-
245
-
246
-
247
- [こちら](https://teratail.com/questions/146576)で紹介されている内容を
248
-
249
- var recipient = 'xxxx@xxxx.xxx';の下にただ追加してみたのですが、うまくいかず。。。
250
-
251
-
252
-
253
- 初歩的な質問で申し訳ございません、ご存じの方、ぜひご教示いただきたいです。
254
-
255
- よろくお願たしま
3
+ お目汚大変失礼いたしました

1

2020/03/25 08:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ### 該当のソースコード
16
16
 
17
-
17
+ ```
18
18
 
19
19
  function generateBodies(values){
20
20
 
@@ -236,6 +236,8 @@
236
236
 
237
237
  }
238
238
 
239
+ ```
240
+
239
241
 
240
242
 
241
243
  ### 試したこと