【最新版 コピペでOK】Googelフォームを使って自動返信の問合せフォームを作る。

Googleフォーム
スポンサーリンク

Googleフォームが新しくなったので、作成方法を新しく作成しなおしました。

今回は下記のようなフォームを作成します。

Googelフォームを使って問合せフォームを作る

まずは、問合せフォームに必要なもの。

以下の3つがGoogleフォームで自動返信を行う際に必要になります。一つずつ説明していきます。

  1. 質問項目
  2. 回答の格納場所
  3. 問合せありがとうメール(自動返信 コピペでOK)
スポンサーリンク

質問項目を作成

まずはgoogleにログインして、Googleドライブ >作成 >フォームをクリック。

フォーム作成 その1

名前の項目作成

最初に質問があるので、質問項目にテキストを記入します。
右のプルダウンから、回答の形式を選択肢ます。

今回は名前と記述し、記述式(短文回答)を選択します。

今回は名前と記述し、記述式(短文回答)を選択します。

必須項目としたい場合は、必須のボタンを有効にします。

メールアドレスの作成

次右側の+ボタンをクリックし、質問を追加します。

メールアドレスと記載し、回答の形式は記述式(短文回答)を選択します。

右下の … をクリックし、データの検証で、メールアドレスが正しい形式かどうか検証が可能です。

メールアドレスの項目を作成。

テキストを選択し、メールアドレスを選択すればOKです。メールアドレスが正しく無かった場合のアラートも可能です。

アラートは今回、メールアドレスに誤りがあります。としています。

メールアドレスが正しい形式かどうか検証

問合せ内容の作成

右側の+ボタンをクリック項目を追加します。

問合せ内容と記入し、回答形式は段落を選択します。

new-google-form4

回答の格納場所を作成

タブの回答を選択します。右側の緑の+ボタン(スプレッドシート追加ボタン)をクリックします。

答の格納場所を作成

新しいスプレッドシートを選択にチェックをいれ、作成をクリックします。

新しいスプレッドシートを作成を選択

Googleフォームから自動返信( コピペでOK)

回答用のスプレッドシートを開き、ツール > スクリプトエディタ を選択。

スクリプトエディタで自動返信プログラムを作成

new-google-form9

プロジェクト名は何でもOKです。今回は AutoSendMail としています。

AutoSendMail

2つめの赤く囲った部分に、下記のコードを上書きすればOKです。

function sendMailGoogleForm() {
 Logger.log('sendMailGoogleForm() debug start');

 //------------------------------------------------------------
 // 設定エリアここから
 //------------------------------------------------------------

 // 件名、本文、フッター
 var subject = "[お問い合わせありがとうございます。]"; 
 var body
 = "お問い合わせありがとうございます。\n\n"
+"------------------------------------------------------------\n";
 var footer
 = "------------------------------------------------------------\n\n"
+"後ほど担当者よりご連絡させていただきます。";

 // 入力カラム名の指定
 var NAME_COL_NAME = '名前';
 var MAIL_COL_NAME = 'メールアドレス';


 // メール送信先
 var admin = "admin@example.com"; // 管理者(必須)
 var sendername = "web担当者備忘録";//送信者名(必須)
 var cc = ""; // Cc:
 var bcc = admin; // Bcc:
 var reply = admin; // Reply-To:
 var to = ""; // To: (入力者のアドレスが自動で入ります)


 //------------------------------------------------------------
 // 設定エリアここまで
 //------------------------------------------------------------

 try{
 // スプレッドシートの操作
 var sheet = SpreadsheetApp.getActiveSheet();
 var rows = sheet.getLastRow();
 var cols = sheet.getLastColumn();
 var rg = sheet.getDataRange();
 Logger.log("rows="+rows+" cols="+cols);

 // メール件名・本文作成と送信先メールアドレス取得
 for (var i = 1; i <= cols; i++ ) {
 var col_name = rg.getCell(1, i).getValue(); // カラム名
 var col_value = rg.getCell(rows, i).getValue(); // 入力値
 body += "【"+col_name+"】\n";
 body += col_value + "\n\n";
 if ( col_name === NAME_COL_NAME ) {
 body = col_value+" 様\n\n"+body;
 }
 if ( col_name === MAIL_COL_NAME ) {
 to = col_value;
 }
 }
 body += footer;

 // 送信先オプション
 var options = {name: sendername};
 if ( cc ) options.cc = cc;
 if ( bcc ) options.bcc = bcc;
 if ( reply ) options.replyTo = reply;

 // メール送信
 if ( to ) {
 MailApp.sendEmail(to, subject, body, options);
 }else{
 MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body);
 }
 }catch(e){
 MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message);
 } 
}

コピペが完了したら、フロッピーアイコンをクリックして保存します。

スクリプトを保存

次に、時計のアイコンをクリックします。

先ほどコピペした、スクリプトの発動タイミングをしていします。

時計のアイコンをクリックします。

スクリプトの発動タイミングを指定。スプレッドシートからを選択肢、フォーム送信時を選択肢保存します。

スクリプトの発動タイミングを指定

保存すると、以下の承認確認が出ますので、承認を確認 を選択します。

AutoSendMail5

次に許可のリクエストがされるので、許可 を選択します。

AutoSendMail6

以上で、フォームから入力があれば、下記のような返信が自動でユーザーに届きます。

実際の自動返信メール

メールの送信元はスクリプト製作者のGoogleアカウントからになるため、送信メールアドレスを変えたい場合は1手間必要になります。

方法はこちらに記載しました。

自動返信メール

タイムスタンプを入れたくない場合は以下のスクリプトを  body += “【”+col_name+”】\n”; 前に 入れればOKです。

 // メール件名・本文作成と送信先メールアドレス取得
 for (var i = 1; i <= cols; i++ ) {
 var col_name = rg.getCell(1, i).getValue(); // カラム名
 var col_value = rg.getCell(rows, i).getValue(); // 入力値

////////////下記を入れる////////////////
if (col_name === "タイムスタンプ"){
	continue;
}
////////////////上記を入れる////////////

body += "【"+col_name+"】\n";
 body += col_value + "\n\n";
 if ( col_name === NAME_COL_NAME ) {
 body = col_value+" 様\n\n"+body;
 }

フォーム送信後の簡素な画面をカスタムする

デフォルトのサンクス画面は以下のように非常に簡素なものです。

簡素なGoogleフォームのサンクス画面

このサンクス画面の編集には、フォーム右上のギアアイコンをクリックすると以下の画面がでるので、赤く囲っている部分を修正します。

フォーム送信後の簡素な画面をカスタムする

以上のように修正すると、下記のサンクス画面が表示されるようになります。

Google Apps Script の学習本

コメント

タイトルとURLをコピーしました