質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

解決済

Googleフォームにアップロードされたファイルをメールで転送したい

jmokopunsk
jmokopunsk

総合スコア1

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

1回答

-1評価

0クリップ

456閲覧

投稿2022/04/05 12:08

初心者です。お世話になります。

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) }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。