Original image by martarey84 from Pixabay and modified by author

最小限の知識で入門する Google Apps Script〜Google フォーム編〜

前回は通院を記録し情報を共有するシステムの構想を練り、Google フォームで情報を送信するということを決めました。そこで今回の記事では、Google フォームの使い方の説明もしながら、通院記録のためのフォームを作ってみたいと思います。

送信されたデータの処理を行うために Google Apps Script でプログラミングをすることにしましたが、通院時の情報送信のために Google フォームを使うだけなので今回ではプログラミングはしないで済みます。

目次

Google フォームとは

インターネットでいろいろなウェブサイトを訪れてみると、お問い合わせフォームとかアンケートフォームとかが設置してあることがあります。また、ネットショッピングのサイトでは、買い物をするときに名前とか住所とかを入力するページが用意されていたりします。

こんなふうに、情報を入力する欄が用意されていて、送信とか登録などのボタンがついているページがフォームです。

Google アカウントを持っている人なら、Google フォームというサービスを使うと、プログラミングすることなく様々な目的に使えるフォームを作ることができます。そしてフォームは Google が管理しているサーバー上に設置されます。

作成したフォームにはインターネットを通じてアクセスするための URL が与えられます。ですから、自分が作成したフォームに誰かに情報を入力してもらって回答を得るには、まず、回答してくれる人にフォームの URL を教える必要があります。一方、回答者は、そのフォームの URL へ自分のスマホやパソコンでアクセスします。するとフォームが開きます。

回答者はフォームの入力欄に必要なことを入力し、最後に送信ボタンをクリックします。そうすると、入力内容は Google の管理しているサーバーへ送信され、フォームの作成者は回答を閲覧、管理することができます。また回答は、フォームの作成者が管理する Google スプレッドシートに自動的に記録することもできます。

Google フォームの作り方

Google フォーム作成サービスへのアクセス

Google フォームは ウェブ上で Google が提供しているフォーム作成サービスです。そして Google フォームは、ウェブブラウザで次のいずれかのページへアクセスしログインすることで作成し始めることができます。

それぞれ簡単に説明しておきます。

Google フォームのページへログインしフォームを作成する

  1. まず、Google フォームのページ にアクセスしログインします。すると、Googleフォームのトップページが開きます。
  2. 上部「新しいフォームを作成」にある「空白のフォーム」 をクリックします。(「空白のフォーム」の横にあるのはテンプレートです。役立ちそうなものがあれば、これらを使うこともできます。)
  3. 「無題のフォーム」という名前のフォームが開くので、適切な名前に変えておきます。

回答を保存するためのスプレッドシートを後で紐付けることができます。

作成した Google フォームは Google ドライブに保存されます。

Google スプレッドシートのページへログインしてからフォームを作成する

  1. まず、Google スプレッドシートのページ にアクセスしログインします。すると、Google スプレッドシートのトップページが開きます。
  2. 回答を記録するためのスプレッドシートを新規に作成するために、上部「新しいスプレッドシートを作成」で「空白のスプレッドシート」をクリックします。
  3. 「無題のスプレッドシート」という名前のスプレッドシートが開くので、適切な名前に変えます。そして上部のメニューで「ツール」 をクリックします。すると小さいメニューがあらわれるので、その中から「新しいフォームを作成」をクリックします。
  4. 「無題のフォーム」という名前のフォームが開くので、適切な名前に変えておきます。

このようにして回答保存用の Google スプレッドシートからフォームを作成すると、回答はそのスプレッドシートに保存されることになります。

また、作成した Google フォームと回答保存用のスプレッドシートは Google ドライブに保存されます。

Google ドライブのページへログインしてからフォームを作成する

  1. まず、Google ドライブのページ にアクセスしログインします。すると、Google ドライブのトップページが開きます。
  2. 左上の「新規」をクリックすると小さなメニューがあらわれるので、その中から「Googleフォーム」をクリックします。
  3. 「無題のフォーム」という名前のフォームが開くので、適切な名前に変えておきます。

回答を保存するためのスプレッドシートを後で紐付けることができます。

作成した Google フォームは Google ドライブに保存されます。

ファイル名と題名を決める

さて、新しいフォームを開いてみましょう。

すると、次の図のように、
左上でファイル名が「無題のフォーム」、
フォームの題名も「無題のフォーム」
となっています。

ファイル名が「無題のフォーム」、
 フォームの題名も「無題のフォーム」

まず、ファイル名とフォームの題名を自分のわかりやすいものに変えておきましょう。

ところで、前回の記事で、通院記録を報告するシステムを作るということにしたのでした。ですから、ここでは、ファイル名と題名ともに「通院記録」としてみることにします。

ファイル名と題名ともに「通院記録」としてみる

さて、題名の下には「フォームの説明」が入力できるようになっています。必要に応じて説明を書いておくとよいでしょう。

質問を作る

題名の欄ができたら、その下から、必要なだけ質問を設置していくことができます。

質問文と質問形式を決め質問を作る

すでに1つ質問欄が(見本として)設置されています。

質問文と質問形式を決め質問を作る
質問文を作る

「無題の質問」と書かれているところには、質問となる文章を入力します。

今作成中の通院記録フォームでは、まず、「通院日」としてみることにします。

「無題の質問」と書かれているところには、「通院日」と入力した
質問形式を選ぶ

質問文の入力欄の右側には、質問の形式を選択するプルダウンメニューがあります。

質問の形式を選択するプルダウンメニュー

質問の形式を選択すると、回答者が回答するための欄が選ばれた形式に応じて作成できるようになります。

質問の形式を選択すると、回答者が回答するための欄が選ばれた形式に応じて作成できる

例えば、質問の形式は、「記述式(短文)」、「段落」、「ラジオボタン」、「チェックボックス」、「日付」などから選択することができます。

記述式(短文)を選択すると、回答欄には短い文を入力できる欄が用意されます。

段落を選択すると、回答欄には長文を入力できる欄が用意されます。

ラジオボタンを選択すると、回答欄には丸いボタンが用意され、その横に選択肢を言葉で入力できるようになります。また、選択肢は必要なだけ設置できます。ラジオボタンは選択肢の中から1つだけ選んでほしいときに使います。

チェックボックスを選択すると、回答欄には四角いチェックボックスが用意され、その横に選択肢を言葉で入力できるようになります。また、選択肢は必要なだけ設置できます。チェックボックスは複数選択を許す場合に使います。

日付を選択すると、回答欄には年月日を入力する欄が用意されます。また、フォームを作成する画面では表示されませんが、回答者にはカレンダーも表示されるようになり、回答者はカレンダーをクリックして日付を選択することもできるようになっています。

今作成中の通院記録フォームではここでの質問を「通院日」にしたのですから、「日付」を選びます。

プルダウンで「日付」を選択

補足: 質問の形式としては以下のものが使えるようです。

  • 記述式
  • 段落
  • ラジオボタン
  • チェックボックス
  • プルダウン
  • ファイルのアップロード先
  • 均等目盛
  • 評価
  • 選択式(グリッド)
  • チェックボックス(グリッド)
  • 日付
  • 時刻
回答必須の質問とする場合

それぞれの質問の作成欄の一番下にある、「必須」とかかれたスライド式のトグルボタンを右にスライドし「オンの状態」にします。

今作成中の通院記録フォームでは、ここでの質問「通院日」は入力必須にするべきなので、次のように、トグルボタンを「オンの状態」にします。

入力必須にするには「必須」とかかれたスライド式のトグルボタンを「オンの状態」に

質問を追加する

それぞれの質問作成欄の右には縦に並ぶメニューがあります。一番上にある「丸で囲まれたプラスボタン」をクリックすると、1つ下に新しい質問作成欄があらわれます。

新しい質問を追加するには「丸で囲まれたプラスボタン」をクリック
「丸で囲まれたプラスボタン」をクリック
1つ下に新しい質問作成欄があらわれた
1つ下に新しい質問作成欄があらわれる

今作成中の通院記録フォームでは、次の質問は「医療機関名」にすることにします。
これは、あらかじめ用意されているいくつかの医療機関から選ぶことができるようになっていることが望ましいので質問形式は「プルダウン」にします。

すると、プルダウンメニューで表示する選択肢を入力できるようになります。ここで、日頃通院している医療機関を全部登録しておきます。さらに入力必須にします。

これで2つ目の質問を設定することができました。

2つ目の質問は「医療機関」「プルダウン」「必須」

3つ目、4つ目…の質問も同様にして設定していくことができます。

通院記録フォームでは、

3つ目の質問は「診察内容」「段落」「必須」

3つ目の質問は「診察内容」「段落」「必須」

4つ目の質問を「付添者」「チェックボックス」「必須」

4つ目の質問は「付添者」「チェックボックス」「必須」

5つ目の質問は「備考」「段落」

5つ目の質問は「備考」「段落」

6つ目の質問は「次回予定日」「日付」

6つ目の質問は「次回予定日」「日付」

7つ目の質問は「次回付添予定者」「チェックボックス」「必須」

7つ目の質問は「次回付添予定者」「チェックボックス」「必須」

としてみました。

質問項目を設定し終わったのでプレビューを見てみたいと思います。

次の図のように、フォーム作成画面上部のメニューで「目の形のボタン」をクリックします。

プレビューを表示するにはフォーム作成画面上部のメニューで「目の形のボタン」をクリック

すると次の図のように、回答者が見ることになるフォームをプレビューすることができます。

プレビューがあらわれた

フォーム作成画面に戻るには、画面右下にある「鉛筆マークのボタン」をクリックします。

回答を保存するためのスプレッドシートをフォームに紐付ける

フォーム作成画面上部に並ぶタブで、まず「回答」タブをクリックします。

すると次の図のように「回答」タブが開くので、「スプレッドシートにリンク」と書かれている所をクリックします。

「回答」タブで「スプレッドシートにリンク」と書かれている所をクリック

次の図のように、「回答の送信先」というダイアログがあらわれ、「新しいスプレッドシートを作成」するか、「既存のスプレッドシートを選択」するか求められます。

「回答の送信先」というダイアログで、「新しいスプレッドシートを作成」または「既存のスプレッドシートを選択」

「新しいスプレッドシートを作成」を選ぶ場合、とりあえずスプレッドシートには「無題のフォーム(回答)」というファイル名がつけられることになります。必要に応じてこのファイル名を適切な名前に変更します。

「既存のスプレッドシートを選択」する場合は、ファイルを選択する画面が現れるので選択します。

そして「作成」をクリックすると、次の図のようにスプレッドシートが開きます。このスプレッドシートの1行目のセルにはタイムスタンプの列及びフォームで作成した質問項目の列が設定されます。

回答記録用のスプレッドシートが作成された

回答者から送信されてくる回答はこのスプレッドシートに記録されていきます。

フォームの公開

作成したフォームにはインターネットを通じてアクセスするための URL(リンク) が与えられます。

そして、フォームを公開すると、回答者はその URL(リンク)へアクセスして回答できるようになります。

回答者に回答してもらうにはフォームの URL(リンク)を何らかの手段で回答者に伝えなければなりませんが、メール、LINEなどのメッセンジャーなどどんな手段でも構いません。

フォームを公開するには、画面上部のメニューで「公開ボタン」をクリックします。

はじめの状態では、次の図のように、URL(リンク)を知っている人は誰でも回答できる状態になっています。つまり、ここで「公開」ボタンをクリックすると、原理的には、たまたまその URL(リンク)を知る機会がある全くの赤の他人でも回答できることになります。

フォームを公開するには、画面上部のメニューで「公開ボタン」をクリック
はじめの状態では、URL(リンク)を知っている人は誰でも回答できる状態に

フォームの回答画面にアクセスできる回答者を限定したい場合、上の図の状態のまま「公開」ボタンをクリックするのはやめましょう。

まずダイアログを閉じます。そして、次の図のように、フォームを作成する画面上部のメニューで「人型のボタン(共有)」をクリックし、このフォームを誰と共有するのか決めていきます。

「人型のボタン(共有)」をクリックし、このフォームを誰と共有するのか決めていく

すると、ダイアログがポップアップし、現時点での共有の状態が表示されます。

ダイアログがポップアップし、現時点での共有の状態が表示される

ここでは以下のことを設定できます。

  • アクセスできるユーザー
    このフォームへアクセスできるユーザーは誰なのか、さらにそれぞれのユーザーがアクセスできるのは「フォームの編集ができる画面(編集者ビュー)」なのか「フォームの回答画面(回答者ビュー)」なのか
  • 一般的なアクセス
    それぞれ「フォームの編集ができる画面(編集者ビュー)」、「フォームの回答画面(回答者ビュー)」へのアクセスを「制限付き」にするのか「リンクを知っている全員」にするのか

ここでは以下のように設定することにします。

アクセスできるユーザー

まず、青く囲まれている「ユーザー、グループ、カレンダーの予定を追加」と書かれている欄にアクセスを許可する人のメールアドレスを入力します。すると次の図のようにダイアログがポップアップし、メールアドレスと、その右に「回答者」として追加するのか「編集者」として追加するのか選択するためのプルダウンメニューが表示されます。

メールアドレスと、その右に「回答者」として追加するのか「編集者」として追加するのか選択

回答者として追加したい場合、このプルダウンメニューで「回答者」を選択します。

このようにしてアクセスできるユーザーを追加したら、「共有」ボタンをクリックしてダイアログを閉じます。

補足:編集者として追加すると、このダイアログで「通知」にチェックを入れて追加したユーザーにメッセージを送信できるようになります。

一般的なアクセス

「編集者ビュー」と「回答者ビュー」を「制限付き」にします。

以上のように設定できたら、「完了」ボタンをクリックします。

このようにして追加された回答者は、自分の Google アカウントでログインしてから回答することになります。

今回は Google フォームを使って情報を入力送信するための画面を用意しました。また、送信される情報を Google スプレッドシートに記録する設定も行いました。次回は、 Google Apps Script でプログラミングをし、Google スプレッドシートに記録された送信内容を操作してみることにします。