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

質問編集履歴

1

構文追加いたします

2019/06/07 07:23

投稿

leomaru
leomaru

スコア12

title CHANGED
File without changes
body CHANGED
@@ -36,4 +36,118 @@
36
36
 
37
37
  にしたいです。
38
38
  私の知識ではどうにもできず、お教えいただけますと幸いです。
39
- 宜しくお願いいたします。
39
+ 宜しくお願いいたします。
40
+
41
+
42
+ ※追記事項※
43
+ 私の知識がなく、ネットからひっぱった構文の文字を変える程度しかできません。
44
+ 構文を作ることはできず、悩んでおりましたので、質問させていただきました。
45
+ 参加有無によって本文を変える方法が知りたいです。
46
+ 宜しくお願いいたします。
47
+
48
+
49
+ function sendMailGoogleForm() {
50
+ Logger.log('sendMailGoogleForm() debug start');
51
+
52
+ //------------------------------------------------------------
53
+ // 設定エリアここから
54
+ //------------------------------------------------------------
55
+
56
+ // 件名、本文、フッター(出席と回答してくれた人)
57
+ var subject = "[お回答ありがとうございます。]";
58
+ var body
59
+ = "ご回答ありがとうございます。\n\n"
60
+ + "------------------------------------------------------------\n";
61
+ var footer
62
+ (↑ここの内容はスプレッドシートで聞いている内容そのままでいいのですが、
63
+ スプレッドシートが
64
+ ①氏名
65
+ ②会社名
66
+ ③参加有無
67
+ となっているのを、返信メールでは
68
+
69
+ ③参加有無
70
+ ①氏名
71
+ ②会社名
72
+
73
+ としたいです)
74
+
75
+ = "------------------------------------------------------------\n\n"
76
+ + "後ほど担当者よりご連絡させていただきます。";
77
+
78
+
79
+ // 件名、本文、フッター(欠席と回答してくれた人)
80
+ var subject = "[お回答ありがとうございます。]";
81
+ var body
82
+ = "ご回答ありがとうございます。\n\n"
83
+ + "------------------------------------------------------------\n";
84
+ var footer
85
+ (↑
86
+ ③参加有無
87
+ だけとしたいです)
88
+
89
+ = "------------------------------------------------------------\n\n"
90
+ + "ご回答ありがとうございました。";
91
+
92
+
93
+
94
+
95
+
96
+
97
+ // 入力カラム名の指定
98
+ var NAME_COL_NAME = '名前';
99
+ var MAIL_COL_NAME = 'メールアドレス';
100
+
101
+
102
+ // メール送信先
103
+ var admin = "admin@example.com"; // 管理者(必須)
104
+ var sendername = "web担当者備忘録";//送信者名(必須)
105
+ var cc = ""; // Cc:
106
+ var bcc = admin; // Bcc:
107
+ var reply = admin; // Reply-To:
108
+ var to = ""; // To: (入力者のアドレスが自動で入ります)
109
+
110
+
111
+ //------------------------------------------------------------
112
+ // 設定エリアここまで
113
+ //------------------------------------------------------------
114
+
115
+ try{
116
+ // スプレッドシートの操作
117
+ var sheet = SpreadsheetApp.getActiveSheet();
118
+ var rows = sheet.getLastRow();
119
+ var cols = sheet.getLastColumn();
120
+ var rg = sheet.getDataRange();
121
+ Logger.log("rows="+rows+" cols="+cols);
122
+
123
+ // メール件名・本文作成と送信先メールアドレス取得
124
+ for (var i = 1; i <= cols; i++ ) {
125
+ var col_name = rg.getCell(1, i).getValue(); // カラム名
126
+ var col_value = rg.getCell(rows, i).getValue(); // 入力値
127
+ body += "【"+col_name+"】\n";
128
+ body += col_value + "\n\n";
129
+ if ( col_name === NAME_COL_NAME ) {
130
+ body = col_value+" 様\n\n"+body;
131
+ }
132
+ if ( col_name === MAIL_COL_NAME ) {
133
+ to = col_value;
134
+ }
135
+ }
136
+ body += footer;
137
+
138
+ // 送信先オプション
139
+ var options = {name: sendername};
140
+ if ( cc ) options.cc = cc;
141
+ if ( bcc ) options.bcc = bcc;
142
+ if ( reply ) options.replyTo = reply;
143
+
144
+ // メール送信
145
+ if ( to ) {
146
+ MailApp.sendEmail(to, subject, body, options);
147
+ }else{
148
+ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
149
+ }
150
+ }catch(e){
151
+ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
152
+ }
153
+ }