AI活用と意思決定デザイン

初期設定を実行する:setupAppを動かす

5学校祭デジタル受付アプリを作る
意思決定AI活用ChatGPTGeminiClaude

この節で学ぶこと

前の節では、Code.gsindex.html に完成コードを貼り付けました。

この節では、アプリを動かす前に必要な初期設定を行います。

今回実行するのは、Code.gs の中にある次の関数です。

setupApp()

この setupApp() は、学校祭デジタル受付アプリを使うための準備をまとめて行う関数です。


まず大切なこと

完成コードを貼り付けただけでは、まだアプリを正しく使う準備ができていません。

今回のアプリでは、受付データを保存するシートや、都道府県・市区町村を選ぶための地域マスタが必要です。

その準備を自動で行うのが、setupApp() です。

完成コードを貼る
↓
保存する
↓
setupApp() を実行する
↓
受付データ用のシートが作られる
↓
地域マスタ用のシートが作られる
↓
管理者パスコードが設定される
↓
目標来場者数が設定される

1. setupAppとは何か

setupApp() は、初期設定をまとめて行う関数です。

関数とは、決まった処理に名前をつけたものです。

今回の setupApp() は、次の4つを実行します。

function setupApp() {
  setupSheet();
  setupAreaMasterSheet();
  setAdminPasscode();
  setDefaultTargetVisitorCount();
}

今は、この中身を全部理解しなくても大丈夫です。

初心者向けに言うと、setupApp() は次のような役割です。

アプリを使う前の準備ボタン

setupAppが行う準備

処理内容
setupSheet()受付データを保存するシートを作る
setupAreaMasterSheet()都道府県と市区町村の一覧を作る
setAdminPasscode()管理画面に入るためのパスコードを設定する
setDefaultTargetVisitorCount()来場者数の目標人数を設定する

2. setupSheetが作るもの

setupSheet() は、受付データを保存するシートを作ります。

作られるシート名は、次です。

受付データ

このシートには、来場者がフォームに入力した情報が保存されます。


受付データシートの見出し

setupSheet() を実行すると、次の見出しが作られます。

見出し
1受付日時
2受付番号
3氏名カナ
4来場区分
5学年
6クラス
7来場目的
8同伴人数
9郵便番号
10都道府県
11市区町村
12住所詳細
13出身学校
14備考
15UserAgent

何のために必要か

来場者が受付フォームを送信すると、このシートに1行ずつデータが追加されます。

1人受付する
↓
受付データシートに1行追加される

もう1人受付する
↓
さらに1行追加される

つまり、受付データシートは、来場者名簿のような役割です。


3. setupAreaMasterSheetが作るもの

setupAreaMasterSheet() は、地域マスタ用のシートを作ります。

作られるシート名は、次です。

地域マスタ

このシートには、都道府県と市区町村の一覧が入ります。


地域マスタとは

地域マスタとは、フォームの選択肢として使う一覧表です。

今回のフォームでは、都道府県を選ぶと、市区町村の選択肢が変わります。

たとえば、岐阜県を選ぶと、次のような市区町村が出ます。

岐阜市
大垣市
各務原市
多治見市
高山市

この一覧を持っているのが、地域マスタです。


地域マスタの見出し

見出し
1都道府県
2市区町村

このシートがあることで、受付フォームの都道府県・市区町村選択が動きます。


4. setAdminPasscodeが設定するもの

setAdminPasscode() は、管理画面に入るためのパスコードを設定します。

完成コードでは、次のようになっています。

function setAdminPasscode() {
  const passcode = '2026';

  PropertiesService
    .getScriptProperties()
    .setProperty(ADMIN_PASSCODE_PROPERTY_KEY, passcode);
}

この中で大切なのは、次の部分です。

const passcode = '2026';

つまり、最初の管理者パスコードは次です。

2026

なぜパスコードが必要なのか

管理画面には、受付データの集計や最新受付情報が表示されます。

誰でも見られる状態だと困るため、パスコードを入力した人だけが見られるようにしています。

受付フォーム
→ 来場者が使う

管理画面
→ 管理者・先生・スタッフが使う

5. setDefaultTargetVisitorCountが設定するもの

setDefaultTargetVisitorCount() は、目標来場者数を設定します。

完成コードでは、最初に次のように書かれています。

const DEFAULT_TARGET_VISITOR_COUNT = 4;

つまり、初期状態では、目標来場者数は4人です。


なぜ4人なのか

授業では、短時間で目標達成の動きを確認したいからです。

たとえば、目標人数が100人だと、授業中に100件の受付を入力するのは大変です。

でも、4人なら授業中に動作確認できます。

1件目
2件目
3件目
4件目
↓
目標達成の演出を確認できる

実際のイベントで使う場合は、後で100人、300人、500人などに変更できます。


6. setupAppを実行する手順

ここから実際に手を動かします。

手順

Google Apps Scriptの画面で、次の順番で進めます。

1. 上部の関数選択メニューをクリックする
2. setupApp を選ぶ
3. 実行ボタンをクリックする
4. 権限確認が出たら許可する
5. 実行が完了するまで待つ

関数選択メニューとは

Apps Script画面の上部に、関数名を選ぶメニューがあります。

そこに、次のような名前が表示されます。

myFunction
doGet
setupApp
setupSheet
submitReception

この中から、setupApp を選びます。


実行ボタン

setupApp を選んだら、上部の実行ボタンを押します。

▶ 実行

これで、初期設定が始まります。


7. 初回の権限確認について

初めて setupApp() を実行すると、Googleから権限確認が表示されます。

これは、アプリがスプレッドシートを操作するために必要です。


表示されることがある画面

次のような表示が出ることがあります。

承認が必要です

または、

このアプリはGoogleで確認されていません

初心者の方は少し不安になるかもしれませんが、授業では自分で作ったプログラムを自分のスプレッドシートで動かしているため、手順に沿って許可します。


許可の流れ

画面の表示に従って、次のように進みます。

権限を確認
↓
自分のGoogleアカウントを選ぶ
↓
詳細をクリック
↓
プロジェクト名に移動
↓
許可

表現は環境によって少し違うことがあります。

不安な場合は、先生に確認してください。


8. 実行後に確認すること

setupApp() の実行が終わったら、スプレッドシートに戻ります。

下のタブに、次の2つのシートができているか確認します。

シート名確認すること
受付データ見出しが作られている
地域マスタ都道府県と市区町村が入っている

受付データシートの確認

受付データ シートを開くと、1行目に見出しが入っています。

受付日時
受付番号
氏名カナ
来場区分
学年
クラス
来場目的
同伴人数
郵便番号
都道府県
市区町村
住所詳細
出身学校
備考
UserAgent

この時点では、まだ受付データは入っていません。

来場者フォームから送信すると、2行目以降にデータが追加されます。


地域マスタシートの確認

地域マスタ シートを開くと、都道府県と市区町村の一覧が入っています。

例として、次のような行があります。

岐阜県 岐阜市
岐阜県 大垣市
愛知県 名古屋市
東京都 千代田区
大阪府 大阪市

このデータが、フォーム画面の都道府県・市区町村選択に使われます。


9. 実行できたか確認するチェックリスト

次の項目を確認してください。

確認項目できたら○
関数選択メニューで setupApp を選んだ
実行ボタンを押した
権限確認を許可した
エラーが出ずに実行完了した
スプレッドシートに 受付データ シートがある
スプレッドシートに 地域マスタ シートがある
受付データ の1行目に見出しがある
地域マスタ に都道府県と市区町村が入っている

10. よくあるつまずき

つまずき1:setupAppが見つからない

関数選択メニューに setupApp がない場合は、次を確認します。

確認すること内容
保存したかコードを貼った後に保存していない可能性があります
Code.gsに貼ったかCode.gs ではなく index.html に貼っている可能性があります
コードが途中で切れていないかsetupApp() の部分が貼られていない可能性があります

まず保存して、画面を再読み込みしてみます。


つまずき2:権限確認が怖い

権限確認は、Apps Scriptがスプレッドシートを操作するために必要です。

今回のアプリでは、次のような操作をします。

シートを作る
見出しを入れる
受付データを書き込む
地域マスタを書き込む

そのため、権限が必要になります。

授業中は、先生の指示に従って許可してください。


つまずき3:エラーが出た

エラーが出たら、まずエラー文を読みます。

よくある原因は次の通りです。

原因確認すること
コードが途中で切れている完成コードを全部貼れているか
#Code.gs まで貼っている見出しは貼らない
Code.gsindex.html を逆に貼った貼る場所を確認する
保存していない保存してから実行する
スプレッドシートからApps Scriptを開いていない紐づきがない可能性がある

つまずき4:受付データシートができない

setupApp() を実行したのにシートができない場合は、次を確認します。

本当に実行した関数が setupApp か
エラーが出ていないか
スプレッドシートを更新したか
別のスプレッドシートを見ていないか

スプレッドシートを再読み込みすると、シートが表示される場合もあります。


11. わからない時にAIへ聞く方法

この節では、初期設定や権限確認でつまずくことがあります。

その場合は、AIに次のように聞きます。


質問例1:setupAppの意味を聞く

Google Apps Scriptで学校祭デジタル受付アプリを作っています。

Code.gsの中に setupApp() という関数があります。

function setupApp() {
  setupSheet();
  setupAreaMasterSheet();
  setAdminPasscode();
  setDefaultTargetVisitorCount();
}

初心者にもわかるように、
この関数が何をしているのか説明してください。

質問例2:setupAppが見つからない

Google Apps Scriptで学校祭デジタル受付アプリを作っています。

関数選択メニューで setupApp を選びたいのですが、setupApp が表示されません。

Code.gsには完成コードを貼ったつもりです。
初心者向けに、確認する場所を順番に教えてください。

質問例3:権限確認で止まった

Google Apps Scriptで setupApp を実行したら、
権限確認の画面が出ました。

学校祭デジタル受付アプリの初期設定をしています。

この権限確認は何のために必要ですか。
初心者にもわかるように説明してください。

質問例4:エラー文を見てもらう

Google Apps Scriptで setupApp を実行したらエラーが出ました。

作っているもの:
学校祭デジタル受付アプリ

やったこと:
Code.gsに完成コードを貼り付けて、setupAppを実行しました。

エラー文:
ここにエラー文を貼る

初心者にもわかるように、原因と直し方を教えてください。

12. この節ではまだやらないこと

この節では、初期設定だけを行います。

まだ次の作業はしません。

Webアプリとして公開する
受付フォームを入力する
管理画面を見る
デザインを変更する

これらは次の節以降で行います。

今は、setupApp() を実行して、シートができたことを確認できればOKです。


13. この節のまとめ

この節では、setupApp() を実行して、学校祭デジタル受付アプリの初期設定を行いました。

大切なポイントは、次の通りです。

  • 完成コードを貼っただけでは、まだ準備は完了していない。
  • setupApp() は、アプリを使う前の初期設定をまとめて行う関数。
  • 受付データ シートは、来場者の入力内容を保存する場所。
  • 地域マスタ シートは、都道府県と市区町村の選択肢を作るための一覧。
  • 管理者パスコードの初期値は 2026
  • 目標来場者数の初期値は 4
  • 初回実行時には、Googleの権限確認が出る。
  • 実行後は、スプレッドシートに 受付データ地域マスタ ができているか確認する。
  • エラーが出たら、エラー文をコピーしてAIに聞く。

次の節では、作成したGASをWebアプリとして公開し、URLから受付フォームを開けるようにします。


確認問題

問題1

この節で実行する関数名は何ですか。

回答

setupApp() です。


問題2

setupApp() は何をするための関数ですか。

回答

受付データシート、地域マスタシート、管理者パスコード、目標来場者数など、アプリを使う前の初期設定を行うための関数です。


問題3

setupApp() を実行すると作られる主なシートは何ですか。

回答

受付データ シートと 地域マスタ シートです。


問題4

初期状態の管理者パスコードは何ですか。

回答

2026 です。


問題5

初期状態の目標来場者数は何人ですか。

回答

4 人です。

教材トップへ戻る