このページの本文へ

Googleフォームによる無料メルマガ配信システムの作り方 (2/3)

2014年07月14日 13時00分更新

文●掌田津耶乃

  • この記事をはてなブックマークに追加
本文印刷

メールマガジン解除フォームの作成

 これでメールマガジンを送れるようになりました。残る機能であるメールマガジンの解除も、Googleフォームを使って作成しましょう。Googleドライブで、「作成」ボタンから「フォーム」を選んでください。

Googleドライブで「フォーム」を作成する

 新しいフォームのウィンドウが開いたら、タイトルを「メルマガ解除」とし、テーマを適当に選んで「OK」ボタンをクリックしてください。

タイトルを「メルマガ解除」と入力する

 Google Appsユーザーは、いちばん上にある「フォームの設定」で、「このフォームを表示する際に○○へのログインを求める」「自動的に回答者の○○ユーザー名を取得する」といったチェックボックスが表示されます。いずれもチェックをOFFに変更してください。

フォームの設定にあるチェックボックスをOFFにする

フォームの内容を作成する

 フォームの内容を作りましょう。まずは、フォームのタイトルと説明を以下のように設定します。

タイトル:メルマガ解除

フォームの説明:ショップ「ABC」のメルマガを解除します。以下に記入し、送信してください。

フォームのタイトルと説明を記入する

 続いて、フォームの項目を作成します。今回は2つだけ作成します。以下のように項目を作ってください。

・1つ目

質問のタイトル:メールアドレス

補足文:メルマガを登録したメールアドレスをご記入ください。

質問の形式:テキスト

詳細設定:「データの検証」をONにする

「テキスト」「メールアドレス」を選択する

必須の質問:ONにする

1つ目の項目。詳細設定を行なうのを忘れずに

・2つ目

質問のタイトル:登録ID

補足文:※メルマガ登録受付メールに記載されていた、登録IDを記入してください。

質問の形式:テキスト

必須の質問:ONにする

2つ目の項目(設定を終えたら「完了」ボタンをクリックします)

 いちばん下にある「確認ページ」欄に、メッセージを以下のように記入します。チェックボックス類はすべてOFFにしておきます。

「メルマガの解除を受け付けました。」

確認ページにメッセージを設定する

スプレッドシートにスクリプトを作成する

 メールマガジン解除の処理を作ります。作成したフォームの「回答を表示」ボタンをクリックして、回答用のスプレッドシートを開いてください。

「回答を表示」ボタンをクリックする

 ツールバーに「回答を表示」ボタンがない場合は、代りに「回答を選択する」ボタンが表示されるので、これをクリックします。

「回答先を選択する」ボタンがある場合は、これをクリック

 現れたダイアログで新規スプレッドシートを選び、名前を「メルマガ解除(回答)」として作成します。「回答を表示」ボタンをクリックします。

新規スプレッドシートを選んで作成する

 スプレッドシートが表示されたら、「ツール」メニューから「スクリプトエディタ...」を選びます。

「スクリプトエディタ...」メニューを選ぶ

 スクリプトエディタが現れたら、上部の「無題のプロジェクト」をクリックし、名前を「メルマガ解除(回答)」と入力してください。

スクリプトエディタのプロジェクト名を入力する

 では、スクリプトを作成しましょう。リスト2の内容をスクリプトエディタに記述してください。なお、「☆メルマガ登録(回答)のスプレッドシートのID☆」には、メールマガジン登録フォームの回答を保管するスプレッドシートのIDを指定します。

リスト2


function remove(e) {
  var mail = e.namedValues['メールアドレス']
  var id = e.namedValues['登録ID']
  var sheet = SpreadsheetApp.openById("☆メルマガ登録(回答)のスプレッドシートのID☆").getSheets()[0];
  var row = sheet.getLastRow();
  for (var i = 2;i <= row;i++) {
    if (sheet.getRange(i, 3).getValue() == mail && sheet.getRange(i, 6).getValue() == id) {
      sheet.getRange(i, 5).setValue("LEFT");
      var body = sheet.getRange(i, 2).getValue()
          + "様\nオンラインショップ「ABC」のメルマガを解除しました。\n"
          + "またのご利用をお待ちしています。\n"
      MailApp.sendEmail(mail, "メルマガ解除", body);
      return;
    }
  }
}

トリガーを設定する

 作成したremove関数を、フォーム送信時に実行するようにトリガーを設定します。「リソース」メニューから「現在のプロジェクトのトリガー」を選びます。

「現在のプロジェクトのトリガー」メニューを選ぶ

 現れたダイアログにある「トリガーが設定されていません。」のリンクをクリックして新しいトリガーを作り、以下のように設定します。

「remove」「スプレッドシートから」「フォーム送信時」

トリガーの設定をする

 「保存」ボタンで保存すると、「承認が必要です」のダイアログが現れます。そのまま「続行」ボタンをクリックして続けてください。

「承認が必要です」のダイアログが現れる

 画面に「許可のリクエスト」ウィンドウが現れるので、そのまま「承認する」ボタンをクリックします。これでスクリプトが実行できるようになりました。

「許可のリクエスト」で「承認する」ボタンをクリックする

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています