前提・実現したいこと
ここに質問の内容を詳しく書いてください。
GAS(google Apps Script)でGooogleフォームの回答をメールで指定のアドレスに送る仕組みを作ってます。
フォームの回答にファイルアップロードがあった場合に、そのファイルを添付して指定のアドレスに送りたいのですが、フォームにアップロードされたファイルをメールに添付する方法がわかりません。
GAS初心者のため、初歩的な質問で申し訳ございません。
フォームに添付されたファイルをGooogle Driveに格納して、そのURLを取得することでファイル添付を試みましたが、
フォーム→フォームの回答収集先のスプレッドシート→スプレッドシートのスクリプトエディタ、ではなくフォーム→フォームのスクリプトエディタで完結させたいです。
該当のソースコード
function SendMail2(e){
//回答者のメールアドレスを取得し、送信先に設定
//※「メールアドレスを収集する」が有効になっていないと使えません
const ToMailAddress = ’指定のメールアドレス';
//CCの設定
const CcMailAddress = e.response.getRespondentEmail();
//件名の設定
const Subject = 'サポートフォームの作成依頼を受け付けました';
//質問と回答をすべて取得する
const itemResponses = e.response.getItemResponses();
let qa = '';
for (let i = 0; i < itemResponses.length; i++) {
const item = itemResponses[i];
const q = item.getItem().getTitle();
const a = item.getResponse();
qa += '■' + q + ':\n ' + a + '\n\n';
}
//本文の設定(改行したい箇所は「\n」と入力」
const Body = 'お問い合わせ頂き、ありがとうございます。\n以下の内容で承りました。\n\n'
+'----------------------------------------------------------------\n\n'
+qa
+'----------------------------------------------------------------\n\n'
+'3営業日以内に担当者からご連絡致しますので\n今しばらくお待ちくださいませ。\n\n';
var report = DriveApp.getFileById('指定したID');
//メールを送信
GmailApp.sendEmail(ToMailAddress, Subject, Body, {cc:CcMailAddress, attachments: [report]});
実現したいこと
フォームにファイルのアップロードがあった場合に、指定のメールアドレス宛にそのファイルを手添付し、送信したいです。
このソースコードでは、ドライブにアップロード済のファイルIDを指定して、添付しています。
実現したいことは、
フォームにアップロードされたファイルのIDを取得し、指定したIDに代入し、ファイルを添付できるようにしたいです。
あなたの回答
tips
プレビュー