teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

コードの書き換え

2019/05/31 04:12

投稿

mm28
mm28

スコア12

title CHANGED
File without changes
body CHANGED
@@ -175,7 +175,7 @@
175
175
  function onSubmit(e) {
176
176
  // 項目名
177
177
  const emailTitle = 'メールアドレス';
178
- const nameTitle = '申込';
178
+ const nameTitle = '担当者';
179
179
 
180
180
  // 件名
181
181
  const subject = 'テスト中'+'【'+name+'】';

3

コードの書き換え

2019/05/31 04:12

投稿

mm28
mm28

スコア12

title CHANGED
File without changes
body CHANGED
@@ -147,16 +147,16 @@
147
147
  GASのコードについても試行錯誤して確認しておりますが、特に問題点は見当たりませんでした。
148
148
  未熟な点があるかと思いますが、どうぞよろしくお願い致します。
149
149
 
150
- **【5月28日変更点】↓**
150
+ **【5月31日変更点】↓**
151
151
  変更して、メールは配信されるようになりましたが、題名にある項目を反映不可の状態。
152
152
 
153
153
  googleフォームでは、下記スクリプト内で定義している、「メールアドレス」、「担当者」以外にも
154
+ ・申込者名
154
155
  ・番号
155
- ・会社名
156
156
  ・日程
157
- 等を入力して、メールに反映しております。
157
+ 等をフォームから入力して、メールに反映しております。
158
158
 
159
- 番号」を一部メールの件名に反映させたいのですが、うまくいきません。
159
+ 申込者名」を一部メールの件名に反映させたいのですが、うまくいきません。
160
160
 
161
161
  【試みた内容】
162
162
  const nameTitle = '申込者名';
@@ -175,7 +175,7 @@
175
175
  function onSubmit(e) {
176
176
  // 項目名
177
177
  const emailTitle = 'メールアドレス';
178
- const nameTitle = '担当者';
178
+ const nameTitle = '申込';
179
179
 
180
180
  // 件名
181
181
  const subject = 'テスト中'+'【'+name+'】';

2

コードの書き換え

2019/05/31 04:11

投稿

mm28
mm28

スコア12

title CHANGED
File without changes
body CHANGED
@@ -147,8 +147,28 @@
147
147
  GASのコードについても試行錯誤して確認しておりますが、特に問題点は見当たりませんでした。
148
148
  未熟な点があるかと思いますが、どうぞよろしくお願い致します。
149
149
 
150
- 5月28日変更点↓
150
+ **【5月28日変更点**
151
+ 変更して、メールは配信されるようになりましたが、題名にある項目を反映不可の状態。
151
152
 
153
+ googleフォームでは、下記スクリプト内で定義している、「メールアドレス」、「担当者」以外にも
154
+ ・番号
155
+ ・会社名
156
+ ・日程
157
+ 等を入力して、メールに反映しております。
158
+
159
+ 「番号」を一部メールの件名に反映させたいのですが、うまくいきません。
160
+
161
+ 【試みた内容】
162
+ const nameTitle = '申込者名';
163
+
164
+ const name = getValueByTitle(items,nameTitle);
165
+
166
+ で定義した後に、subjectのあとにnameを付ける
167
+ const subject = 'テスト中'+'【'+name+'】';
168
+
169
+ →自動配信されたメールの件名は「テスト中【undefined】」という表示になってしまう。
170
+  フォームから入力した内容が定義できていない模様です。
171
+
152
172
  ```JavaScript
153
173
  FormApp.getActiveForm();
154
174
 

1

コードの書き換え

2019/05/28 05:49

投稿

mm28
mm28

スコア12

title CHANGED
File without changes
body CHANGED
@@ -145,4 +145,76 @@
145
145
 
146
146
  ### 補足情報
147
147
  GASのコードについても試行錯誤して確認しておりますが、特に問題点は見当たりませんでした。
148
- 未熟な点があるかと思いますが、どうぞよろしくお願い致します。
148
+ 未熟な点があるかと思いますが、どうぞよろしくお願い致します。
149
+
150
+ 5月28日変更点↓
151
+
152
+ ```JavaScript
153
+ FormApp.getActiveForm();
154
+
155
+ function onSubmit(e) {
156
+ // 項目名
157
+ const emailTitle = 'メールアドレス';
158
+ const nameTitle = '担当者';
159
+
160
+ // 件名
161
+ const subject = 'テスト中'+'【'+name+'】';
162
+  const newLine = '\n';
163
+
164
+ // フォームの内容一覧を取得する
165
+ const items = e.response.getItemResponses();
166
+
167
+ // 自動返信するお問い合わせのあったメールアドレスを取得する
168
+ const email = getValueByTitle(items,emailTitle);
169
+
170
+ //担当者を取得する
171
+ const name = getValueByTitle(items,nameTitle);
172
+
173
+ // メール送信先
174
+ var admin_name=""
175
+ var admin = ""; // 管理者(必須)
176
+ var cc = ""; // Cc:
177
+ var bcc = admin; // Bcc:
178
+ var reply = admin; // Reply-To
179
+
180
+
181
+ if(email === '') {
182
+ Logger.log('メールアドレスが入力されていませんでした');
183
+ return;
184
+ }
185
+
186
+
187
+ // 本文を作成する
188
+ var body = '';
189
+ if(name !== '') {
190
+ body += 'ご担当者様' + newLine + newLine;
191
+ }
192
+ body += 'お疲れ様です。' + newLine;
193
+ body += '以下の内容にてお申込みがありましたのでご対応をお願い致します。' + newLine + newLine;
194
+ items.forEach(function(item) {
195
+ body += '【' + item.getItem().getTitle() + '】' + newLine;
196
+ body += item.getResponse() + newLine + newLine;
197
+ });
198
+ body += newLine + newLine;
199
+
200
+ body += '【管理簿】' + newLine;
201
+ body += 'https://docs.google.com/spreadsheets/xxxxxxxxx';
202
+
203
+ Logger.log(email);
204
+ Logger.log(body);
205
+
206
+
207
+
208
+ // メールを送信する
209
+ GmailApp.sendEmail(email,subject,body);
210
+ }
211
+
212
+ /**
213
+ * itemsからtitleの値を取得する
214
+ */
215
+ function getValueByTitle(items, title) {
216
+ return items.filter(function(item) {
217
+ return item.getItem().getTitle() === title;
218
+ })[0].getResponse();
219
+ }
220
+ ```