初心者です。お世話になります。
Googleフォームの回答内容(アップロードされたファイルを含む)をメールで送信(転送)するスクリプトを以下を参考に作成中です。
参考①https://technical.verybestcbp.com/addfiles/?amp=1
参考②https://teratail.com/questions/01gyu7offoabgc
Googleフォームの設定内容は以下の2点です。
・添付ファイルのアップロードをする質問項目は2問以上ある。
・添付ファイルのアップロードをする質問項目は全て「必須ではない」設定
このうち、ファイルをアップロードする質問のいずれかが「未回答」だった場合の対処方法(アップロードされた質問のファイルのみをメールで送る、アップロードがない場合はファイルを添付せず送る)についてご相談させていただければと思います。
ファイルをアップロードする質問項目が1問の場合、「参考②」より以下のようにすればできました。
let options = { "attachments": attachImg ? [attachImg] : null }
「参考①」のようにファイルをアップロードする質問項目が2問以上ある場合、どのような記載になるかご教示いただけませんでしょうか。
function sendForm(e) { const to = e.response.getRespondentEmail() //「このフォームでは回答者のメールアドレスを収集しています。」のメアド // 件名 const subject = "報告書が記入されました" // 本文 let body = "内容は下記の通りです。" let itemResponses = e.response.getItemResponses() let attachImg1 = "" let attachImg2 = "" for (var i = 0; i < itemResponses.length; i++) { var itemResponse = itemResponses[i]; var type = itemResponse.getItem().getType(); var question = itemResponse.getItem().getTitle(); var answer = itemResponse.getResponse(); if (question == "添付ファイル1") { attachImg1 = DriveApp.getFileById(answer).getBlob(); } if (question == "添付ファイル2") { attachImg2 = DriveApp.getFileById(answer).getBlob(); } // 回答項目 body += "\n\n【" + question + "】\n\n"; // 回答内容 body += answer; } let options = { "attachments": attachImg ? [attachImg] : null } MailApp.sendEmail(to, subject, body, options) }

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/07 10:10
退会済みユーザー
2022/04/07 11:45
2022/04/07 12:38
退会済みユーザー
2022/04/07 23:52
2022/04/08 12:24