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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

2286閲覧

Googleフォームで回答があった際にメールで通知が来るようトリガーを自動で設定したい

yuko.t

総合スコア9

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2020/09/16 08:53

編集2020/09/28 04:55

Googleフォームで回答があった際にメールで通知が来るようスクリプトを書くことはできたので
フォーム送信時にメール送信するスクリプトを実行させるトリガーを作成したいと思い
【試したこと】をやってみましたがうまくいきませんでした。
やはりトリガーは手動で作成するしかないのでしょうか?

フォームは定期的に自動生成しており
①:フォーム原本のコピーを作成(↓のチェックマークを毎回手動で外す手間をなくすため)
![イメージ説明
②:①で作成したコピー-フォームを元にフォームを作成
の手順で作成しています。
手順①のフォーム原本にメール通知をしてくれるスクリプトも書き込んでいて
作成した【コピー-フォーム】にスクリプトが反映されることも確認できましたが
トリガーはコピーされないことが分かりました。

毎回フォームのIDが変わるので
できればフォーム作成時にトリガーも一緒に作成するのが理想です。

試したこと

フォーム作成時、手順②でコピーした【コピー-フォーム】のIDを取得しなおしてから

GAS

1ScriptApp.newTrigger('sendAnswer').forForm(formFile).onFormSubmit().create();

を実行してもトリガーが作られるのは原本の方でした。

補足情報(FW/ツールのバージョンなど)

『フォーム原本』

イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuma_kuma_

2020/09/19 01:52

無料で使えるフォーム作成サービス「Googleフォーム」とは?有料の他社サービスとの違いは? https://www.asobou.co.jp/blog/web/google-form こちらの解説だと 回答があった際にメールで知らせてくれる通知メール は設定でできるみただけど? その自動生成はどうやって行っているの 1. 一度ふつうに作成 2. フォーム画面のHTML等を保存 3. 通知メールの設定を行う 4. もう一度フォーム画面のHTML等を保存 HTMLを前後で比べればメール送信の処理が判る 違いがなければ設定によりサーバ側で送信される あとは Googleフォームを自在にカスタマイズする https://qiita.com/curioussafuta/items/fa077cbf820faca30598 みたいな方法で完全にカスタマイズするとか? というかGoogleの標準機能のメール送信以外でメール送信は大丈夫なの?
yuko.t

2020/09/24 02:38

業務自動化のためにGASを使ってフォームを自動生成しており メール通知の設定だけ手動で行わなければいけなくなると結局手間がかかってしまうので、、、 回答があった際にメール送信をしてくれるスクリプト自体はすでに完成しているのですが それを実行するトリガーをフォーム作成時に同時に設定できればと考えています。
kuma_kuma_

2020/09/25 16:23

前にも書いたけど > Googleの標準機能のメール送信以外でメール送信は大丈夫なの? Googleの規約違反になりませんか?
yuko.t

2020/09/28 01:39 編集

今回の質問はトリガーの設定についてだったので メール送信についてのスクリプト詳細は省きましたが Googleの標準機能を使ったスクリプトを使用するので規約違反にはならないと思います。
guest

回答1

0

ベストアンサー

自動設定がネックなんだけど
Google Apps Script 実践メモ(Form Submit)
Google Apps Scriptでフォーム送信時にメッセージを送るスクリプトの作り方
一度ふつうに作ってトリガー設定
Googleフォームを開いてデバックモードでトリガーの設定を取得
とかになるかな?

自動設定でどこまでできるかが問題なんだけどどうやった方式をとっているの?

投稿2020/09/28 02:09

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuko.t

2020/09/28 03:28

>どうやった方式をとっているの? は何についてお伝えすればよいでしょうか??
kuma_kuma_

2020/09/28 03:37

>フォームは定期的に自動生成しており Google フォームはGoogle Apps Script(GAS)のスクリプトで作成されているのですか?それとも別の方法で作られていますか? また作るのではなくカスタマイズで中身だけを切り替えたりしているのですか?という意味です。
kuma_kuma_

2020/09/28 03:44

追加です 自動作成された「Google フォーム」は「Google スプレットシート」との連動はないのですか?
yuko.t

2020/09/28 04:56

GoogleフォームはGASを使ってスタンドアロンスクリプトで作成しています。 フォームの内容とスプレッドシートとの連動に関しては 本文①⇒②の手順で作成した『コピー-フォーム』に入れる質問は内容が毎回変わるので スプレッドシートから情報を取得⇒取得した情報を元に『コピー-フォーム』にテキストやラジオボタン等を追加しています。 なので作成時はスプレッドシートと連動しますが、作成後は連動はありません。
yuko.t

2020/09/28 05:00 編集

『フォーム原本』のスクショを補足に追加したので確認ください。 これをコピーし『コピー-フォーム』を作成。 作成した『コピー-フォーム』にスプレッドシートから取得した情報を使ってタイトルの変更やテキスト・ラジオボタン等の追加をしています。
yuko.t

2020/09/28 05:04

更に追記です。 『コピー-フォーム』作成?編集?時に連動するスプレッドシートは固定で定期的に内容を書き換えています。
kuma_kuma_

2020/09/28 05:08 編集

それなら先の 「Google Apps Scriptでフォーム送信時にメッセージを送るスクリプトの作り方」 で紹介されているスプレッドシートと連動させてメールを送信する方法が 一番確実なのでは? (GASからGoogle フォームのfanction新規登録はセキュリティの関係で手動以外たぶんできない)
yuko.t

2020/10/01 07:49

回答の内容もメール本文に反映させたいのですが質問の数が一定ではないので できればフォームから送信したく他にも調べてみましたがkuma_kuma様がおっしゃるやり方が確実なようです。 まずは通知が行くようにすることが最優先なのでスプレッドシートと連動の方法を取ろうと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問