Written by Hideki Okajima

【GAS】Googleフォームで自動返信機能を追加する方法

Google Apps Script

Googleフォームで自動返信機能を追加したい人
Googleフォームに自動返信機能を追加したいけど、どうやってやるのかな?初心者なので、わかりやすく教えてください。

こんにちは、ヒデキです。


Googleフォームでお問い合わせがあった時に、自動返信機能ができたら便利ですよね?

Google Apps Script【GAS】を使えば、簡単に機能を追加できます。

コピペ&少しの修正で実装できるので、ぜひ参考にされてください。

本記事の内容

【GAS】Googleフォームで自動返信機能を追加する方法

Google Apps Scriptで、自動返信機能を追加する方法を解説します。

手順

  • 手順①:お問い合わせフォームを作る
  • 手順②:スクリプトを書く
  • 手順③:トリガーを設定する

手順①:お問い合わせフォームを作る

Googleフォームで、下記のようなお問い合わせフォームを作成します。

お問い合わせフォームを作成

お問い合わせフォームを作成

手順②:スクリプトを書く

フォームを作成したら、スクリプトエディタを開きます。

スクリプトエディタを開く

スクリプトエディタを開く

送信ボタンの横の3つの点が列んだ部分をクリックすると、メニューが表示されるので、スクリプトエディタをクリックします。

スクリプトエディタ

スクリプトエディタ

上記のスクリプトエディタが、新しいタブで開きます。

プロジェクト名を変更

”無題のプロジェクト”をクリックするとプロジェクト名を変更できます。
プロジェクト名を変更

フォームのタイトルと同じで良いかと思います。

スクリプトをコピペする

デフォルトの関数「function myFunction」を削除して、下記のスクリプトをコピー&ペーストしてください。

function onFormSubmit(e){
  var name = '';
  var email = '';
  var message = '';
  
 // フォームの回答を取得
  var itemResponses = e.response.getItemResponses();
  //var message = '';
  for (var i = 0; i  < itemResponses.length; i++) {
    var itemResponse = itemResponses[i];
    var question = itemResponse.getItem().getTitle();
    var answer = itemResponse.getResponse();
    if(question == 'お名前'){name = answer;}
    else if(question == 'メールアドレス'){email = answer;}
    message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n';
  }

  // 自動返信メール件名
  var subject = 'お問い合わせありがとうございました。';
  
  // 自動返信メール本文
  var body = name + '様\n' +
    '\n' +
    'この度は、お問い合わせありがとうございました。\n' +
    '\n' +      
    '後ほど、折返しご連絡いたしますので、\n' +
    'よろしくお願いいたします。\n' +
    '\n' +
    '※本メールは自動返信メールとなっております。\n' + 
    '\n' +
    '【お問い合わせ内容】\n' + 
    message;
  
  // メール送信
  MailApp.sendEmail({
    to: email,
    subject: subject,
    body: body
  });
}

自動返信メールの内容を変更したい場合は、直接ソースコードを修正してください。

うまくできない場合は、下記の【【GAS】Googleフォームで自動返信【Googleドキュメントからメール内容を取得する】を参考にされてください。

スクリプトの保存

コピペをして、メールアドレスと記載したら、保存ボタンでスクリプトを保存します。
スクリプトの保存

トリガーを設定する

お問合わせを送信した回直後に、このスクリプト関数が実行されるようにトリガーというものを設定します。
トリガーの設定は、下記の記事をご覧ください。

以上で、自動返信機能が追加できました。

実際に、自動返信されるかどうか、テストしてみてください!

【GAS】Googleフォームで自動返信【Googleドキュメントからメール内容を取得する】

フォームによっては、長文のメールだったり、頻繁にメール内容を変更したい場合があると思います。

そういった場合、ソースコードを直接修正するのは、とても面倒です。

そこで、Googleドキュメントから返信メール内容を取得するスクリプトを作ってみました。

Googleドキュメントを作成する

Googleドキュメントを作成して、返信メール内容を記述してください。

Googleドキュメントを作成する

GooleドキュメントのURL

GooleドキュメントのURL

Googleドキュメントを作成したら、URLをメモしておいてください。

Gooleドキュメントの文章を読み込むスクリプト

function onFormSubmit(e){
  var name = '';
  var email = '';
  
 // フォームの回答を取得
  var itemResponses = e.response.getItemResponses();
  for (var i = 0; i  < itemResponses.length; i++) {
    var itemResponse = itemResponses[i];
    var question = itemResponse.getItem().getTitle();
    var answer = itemResponse.getResponse();
    if(question == 'お名前'){name = answer;}
    else if(question == 'メールアドレス'){email = answer;}
  }
  
  // 返信メール内容を取得
  var mailContent = getMailContent();

  // 自動返信メール件名
  var subject = 'お問い合わせありがとうございました。';
      
  // 自動返信メール本文
  var body = name + '様\n\n' + mailContent;
  
  // メール送信
  MailApp.sendEmail({
    to: email,
    subject: subject,
    body: body
  });
}

function getMailContent() {
  const DOC_URL = 'GoogleドキュメントのURL'; 
  const doc = DocumentApp.openByUrl(DOC_URL);
  return doc.getBody().getText();
}
const DOC_URL = 'GoogleドキュメントのURL';

上記の部分にメモしておいたGoogleドキュメントのURLを記載してください。

以上で、Googleドキュメントに書いた返信メールが自動で送信されます。

今回は、以上になります。

まずは【体質改善プログラム7step】お試しください!

人気記事【体質改善プログラム7step】パフォーマンスを最大化する健康術

人気記事【スマホで参加】オンラインウォーキング/グループチャット【無料】

この続きはcodocで購読