NGOのボランティアチームを受け入れるための申請書となるフォームがあります。私がやりたいのは、誰かがフォームに記入したときにレジストラに電子メールを送信するスクリプトを作成することです。それは私が行う方法を知っている簡単な部分です。
その「電子メール通知」に、レジストラが確認できるいくつかの質問からのいくつかの重要な回答を含めたいと思います。これは私も達成する方法を知っています。
これが機能する私の現在のコードです:
function Team_ApplicationMailer(e) {
var recipient = "myemail@gmail.com";
var timestamp = e.values[0];
var name = e.values[3];
var country = e.values[1]
var subject = e.values[1]+' wants to Volunteer!' ;
var startdate = e.values[12];
var enddate = e.values[13]
var hyperlink = "mylink.com"
htmlBody = '<u><strong>'+name+'</u></strong> from: <u><strong>'+country+'</strong></u>just completed the Teams Application Form for these dates: <u><strong>'+startdate+' to '+enddate+'</u></strong><br><br>Form completed on: <u><strong>'+timestamp+'</u></strong><br><br>View the Form: <a href="'+hyperlink+'">Click Here</a>';
MailApp.sendEmail(recipient, subject, htmlBody, {htmlBody:htmlBody});
}
追加したいトリッキーな部分は次のとおりです。e.values[19]とe.values[20]にあるデータも追加したいのですが、これらの値は複数選択(e.values [19])またはチェックボックスのいずれかからのものです。 (e.values [20])と私は、値を単純化する(つまり、一部のテキストを削除する)必要があり、電子メールで送信すると分割される可能性があります。
2つの質問は基本的に同じです。e.values [19]は、「何をしたいのか:1番目の優先順位」であり、いくつかの複数選択オプションがあります。e.values [20]は、いくつかのチェックボックスオプションを備えた「他に何をしたいですか」です。両方の質問には同じ7つの選択肢があり、それぞれの選択肢には長い説明があります(したがって、短くする必要があります)
基本的に、次のような値のe.values[19]が必要です。
optionX :(詳細な説明)
メールで次のように表示されます。
あなたは何をしたいですか:optionX。
「()」のオプションの長い説明を含めたくありません。
e.values [20]の場合、電子メールで値を次のように表示します。
他に何をしたいですか:optionA、optionB、optionC
これの代わりに:
optionA :(詳細説明)、optionB :(詳細説明)、optionC :(詳細説明)
.replace関数と.split関数を調べましたが、特にチェックボックスオプションの場合、これらを連携させる方法がわかりません。
助けてくれてありがとう!