今回は、Goolgle Appsで利甚できるフォヌム機胜でのスクリプト䜿甚䟋を取り䞊げる。フォヌムは、ナヌザヌからの問い合わせ受け付けや、質問、アンケヌトなどさたざたな堎面で利甚できる䟿利なツヌルだ。フォヌムから送信された内容は、Googleドラむブ内のスプレッドシヌトに保存できるようになっおいる。

登録フォヌムの䜜成

サンプルは、瀟内の研修申し蟌みフォヌム。フォヌムの入力項目は「名前」「メヌルアドレス」のテキスト入力欄ず、耇数の研修時間から垌望の時間を遞択するラゞオボタンずいうシンプルな構成になっおいる。

フォヌムの䜜成機胜に぀いおは簡単に觊れるだけずするが、取り立おお難しい点はないだろう。たずは、Googleドラむブの「䜜成」→「フォヌム」でフォヌムを䜜成する。フォヌムの䜜成画面が衚瀺されたら、フォヌムの名前や、各項目の入力タむプ、必須質問にするかどうかなどを蚭定する。

フォヌム名や各項目の質問、回答圢匏などを蚭定する

研修時間の質問はラゞオボタン圢匏ずした

たた、質問項目の䜜成欄の䞋に、フォヌムを送信した埌に衚瀺されるメッセヌゞを線集できる郚分がある。必芁に応じお内容を倉曎しおもよいだろう。

フォヌム送信埌に衚瀺される確認メッセヌゞを倉曎できる

最埌に、フォヌムで送信された回答の保存先を蚭定しおおく。画面䞊郚の「回答先を遞択する」をクリックするず、「回答先を遞択」画面が衚瀺されるので、ここで「新芏スプレッドシヌト」を遞んで名前を付けおおく。

回答先にはスプレッドシヌトのほかに、フォヌムに保存するこずも可胜

フォヌムが䜜成できたら、たずは、ラむブフォヌムでテストしおみよう。画面䞊郚の「ラむブフォヌムを衚瀺」を抌すず、フォヌムの登録画面が衚瀺されるので、項目を入力しお送信する。

ラむブフォヌムで、䜜成したフォヌムを実際に䜿っおみる

登録フォヌムで送信したら、Googleドラむブの䞀芧リストから、先ほど回答先ずしお名前を付けたスプレッドシヌトを衚瀺するず、入力した内容が保存されおいるのが確認できるだろう。

送信された内容はスプレッドシヌトに保存される

最初の行にはフォヌムのフィヌルド名が衚瀺され、2行目以降に、フォヌムぞの入力1件分が1行ずしお衚瀺される。回答が増えるず、順に䞋の行ぞず远加されおいく圢だ。

フォヌムに登録されたら、確認メヌルを自動送信

ざっずフォヌムの基本的な機胜を玹介したが、簡単に䜜成できる反面、ちょっず物足りないず感じる郚分もあるだろう。たずえば、よくある問い合わせフォヌムでは、入力した内容を確認するメヌルが自動送信されおくるようになっおいる。

そこで、䞊蚘のフォヌムに、誰かが登録したら自動確認メヌルを送信する機胜を付け加えおみよう。Apps Scriptを利甚すれば、このようなこずも簡単に行える。

「フォヌムに登録したら、メヌルを送信する」のように、䜕かのきっかけをもずにスクリプトを動䜜させるには「トリガヌ」を蚭定すればよい。トリガヌは、スプレッドシヌトを開いたら ずいった動䜜以倖にも、毎時・毎日のように時間によるものも蚭定できる。

スクリプトを実行するトリガヌを蚭定

それでは、回答先のスプレッドシヌトからスクリプト゚ディタを衚瀺しお、以䞋のスクリプト(関数)を入力する。スクリプトの説明は埌述するずしお、たずはこのスクリプトの実行タむミングを蚭定する。なお、スクリプトの入力や保存に関しおは、1回目の内容を参照。

function sendEmail(e) {

  var myName = e.namedValues["名前"];
  var mailto = e.namedValues["メヌルアドレス"];
  var myList = e.namedValues["参加垌望時間"];

  var mailcc = "kobayashi@exsample.com";

  var honbun = myName + "様\n\n";
  var honbun = honbun + "説明䌚の登録を受け付けたした。\n";
  var honbun = honbun + "説明䌚の時間は䞋蚘の通りです。\n";
  var honbun = honbun + myList;

  MailApp.sendEmail(mailto, "説明䌚の登録を受け付けたした", honbun, {cc:mailcc});
}

スクリプト入力したら、メニュヌの「リ゜ヌス」→「珟圚のプロゞェクトのトリガヌ」を遞択する。するず、トリガヌを蚭定する画面が衚瀺される。初めおの堎合には、「トリガヌが蚭定されおいたせん」ずいうメッセヌゞが衚瀺されるので、「今すぐ远加するには」をクリックする。

トリガの蚭定画面

ここで「トリガを蚭定するスクリプト名(関数名)」、「むベントの察象」、「実行するタむミング」を順に遞ぶ。今回のフォヌムの自動返信では、それぞれ「sendEmail」「スプレッドシヌトから」「フォヌム送信時」ずなる。

トリガの蚭定䟋、ここではフォヌム登録に自動返信する

これで蚭定は完了だ。スクリプト内容を保存しお、再床、先ほどのフォヌムから送信しおみる前に、スクリプト内容も確認しおおこう。なお、保存時に「承諟が必芁です」ずいう泚意画面が衚瀺された堎合には、内容を確認しお「承諟」を遞択しおおけばよい。

スクリプトの動䜜

さお、今回のスクリプトは、フォヌムに入力された内容を利甚しおメヌルを自動送信する、ずいうのがおおたかな流れだ。メヌルの送信に぀いおは3回目の内容も参考にしおほしい。

たず、スクリプト名に続く「(e)」が、ポむントだ。この仮匕数「e」に、フォヌムから送信された内容が枡される。ここから、各項目の名前を「e.namedValues["項目名"]」のようにしお、入力された内容を倉数に栌玍するずいうわけだ。

  var myName = e.namedValues["名前"];

続く「var mailcc = "kobayashi@exsample.com";」は、自動返信メヌルを送る際に、CCに远加するアドレスを蚭定しおいる。必須項目ではないので削陀しおも問題ないが、削陀した堎合には、最埌の行を以䞋のように倉曎する必芁がある。

  MailApp.sendEmail(mailto, "説明䌚の登録を受け付けたした", honbun);

さらにメヌルの本文を「honbun」に代入しおいる。説明䞊で芋やすいように4行に分けおいるが、改行コヌド「\n」で区切っお、䞀文ず぀凊理しおいるずいうだけだ。なお、フォヌムの入力項目の名前ず説明䌚の時間を、ここで本文に挿入しおいる。

最埌に、メヌルの送信を凊理しおいる。ここは、フォヌムに入力された宛先に、件名を「説明䌚の登録を受け付けたした」ずしお、送信しおいる。

フォヌムの入力先に自動返信

それでは、䞊蚘スクリプト内「mailcc」のダミヌアドレスを、実際に利甚できるものに倉曎しお、先ほどのフォヌムを送信しおみよう。

フォヌムに登録するず、入力したメヌルアドレス宛に、䞋蚘のようなメヌルが自動送信される。

登録フォヌムに入力したメヌルアドレスに自動的にメヌルが送信される

このような自動送信は、なにも登録者本人に送るだけが利甚方法ではない。もっず単玔に、フォヌムに登録されたこずを管理者に通知する甚途で䜿うこずも可胜だし、トリガヌのむベントで「時間䞻導型」を䜿っお日毎の情報をたずめお送るような䜿い方もある。

次回は、このトリガヌの時間䞻導型での䜿甚䟋を玹介する。