gasで出来るのかわからない自動返信についてご教示いただければと思います。 私は現在中学校の教職員です。 朝保護者から職員室に電話連絡(欠席のお知らせ)が大量に来て困っています。
gasで出来るのかわからない自動返信についてご教示いただければと思います。 私は現在中学校の教職員です。 朝保護者から職員室に電話連絡(欠席のお知らせ)が大量に来て困っています。 そこで欠席連絡をFormsを使って集めることができればと思い、作成を行っております。 学年クラス名前を入力するタイプなのですが、他の職員から「親ではなく、本人が許可を得ないで連絡してきたらわからないのではないか?親のスマホに連絡が入るのなら使えると思う」と難癖が入りました。 アドレスを打ち込む形式にしても、そのアドレスが親のアドレスとは限らないので、できればアドレスを事前登録して、学年、クラス、番号からその保護者を割り出して、名簿のアドレスに自動返信するようにしたいと思っております。 こちらのやり方は可能でしょうか? もし可能ならばgasも教えて頂ければと思います。よろしくお願いします。
メール | インターネットサービス・26閲覧・500
ベストアンサー
自動返信メールの設定の仕方はこちらの記事等を参考にしてください。 https://zenn.dev/ryotoitoi/articles/3cedb115d816e5 以下、一応コード組んでみましたが動作未確認です。 ミスがありましたらすみません。 function onFormSubmit(e) { // 学年を取得 const grade = e.namedValues['学年'][0]; // クラスを取得 const classroom = e.namedValues['クラス'][0]; // 名前を取得(空白除去) const name = e.namedValues['名前'][0].replace(/[ ]/g, ''); // フォームの回答を受け取るスプレッドシート内の「学年-クラス」シートから返信先メールアドレスを取得 const ss = SpreadsheetApp.getActiveSpreadsheet(); const mailSheet = ss.getSheetByName('' + grade + '-' + classroom); // A列:名前、B列:返信先メールアドレス const values = mailSheet.getDataRange().getValues(); var emailAddress = ''; values.forEach(row => { // A列とフォームの名前を突き合わせ if (row[0] == name) { // 名前が一致したらB列を取得 emailAddress = row[1]; } }); if (!emailAddress) { // 返信先メールアドレスが取得できなければデフォルトのメールアドレスを設定 emailAddress = '代わりに送信するメールアドレスに書き換えてください@gmail.com'; } // 自動返信メール送信 MailApp.sendEmail({ to: emailAddress, subject: '[自動返信] 欠席連絡の確認', body: name + 'さんの欠席連絡を受理しました。', }); }
質問者からのお礼コメント
ありがとうございました! 大変助かりました!
お礼日時:5/26 7:01