第5章 Apps Script の設定#
この章の概要
- 対象:スプレッドシートの入力が終わった方(第4章を完了した方)
- 所要時間の目安:30分〜1時間
- この章で学ぶこと:プログラムファイルの設置、スプレッドシートとの接続設定
この章では、システムの「頭脳」にあたるプログラム部分(Google Apps Script)を、第4章で作成したスプレッドシートに紐づけて用意します。作業の中心は、あらかじめ用意された4つのファイルの中身を「コピーして貼り付ける」ことと、スプレッドシートIDの設定です。プログラムを自分で書く必要はありません。
5.1 Apps Scriptとは何をしているのか#
第1章でも触れましたが、あらためてApps Scriptの役割を整理しておきましょう。Apps Scriptは、次のような仕事をしています。
- スタッフがスマートフォンでURLを開いたときに、「スタッフ」「賞一覧」「設定」シートの中身を読み込む
- 読み込んだ内容をもとに、ホーム画面・投票画面などの見た目(HTML。ブラウザが画面を組み立てるための設計図のような言語です)を組み立てて、ブラウザに送る
- スタッフが投票を送信したら、その内容を「投票結果」シートに書き込む
- 管理者がログインしたら、集計を行ってダッシュボードの内容を作る
つまりApps Scriptは、スプレッドシートという「台帳」と、スタッフが操作する「画面」との間を取り持つ、通訳のような役割を担っています。この章では、その通訳役のプログラムを設置していきます。
用語ミニ解説:HTML(エイチティーエムエル)
index.html・style.html・script.html の「html」とは、ブラウザに画面のレイアウトや見た目を伝えるための言語の名前です。「Hyper Text Markup Language」の略ですが、名前を覚える必要はありません。「ブラウザに画面の作り方を教えるための、専用の書き方」程度に理解しておけば十分です。
5.2 用意するもの#
この章を始める前に、次の4つのファイルの中身(テキスト)が手元にあることを確認してください(入手方法は第2章2.2節を参照してください)。
Code.gsindex.htmlstyle.htmlscript.html
これらは院内表彰システムのプログラム一式です。テキストファイルやメールなどで届いている場合は、開いてすぐにコピーできる状態にしておきましょう。
5.3 スプレッドシートからApps Scriptエディタを開く#
✅ 手順
- 第4章で作成したスプレッドシートを開きます
- 画面上部のメニューから「拡張機能」をクリックします
- 位置の目安:画面上部、メニューバーの中に「ファイル」「編集」「表示」「挿入」「表示形式」「データ」「ツール」と並んでおり、その一番右に「拡張機能」があります

- メニューが開くので、「Apps Script」をクリックします(メニューの一番上に表示されます)

- 新しいタブ(またはウィンドウ)が開き、「Apps Script」の編集画面が表示されます。これを「Apps Scriptエディタ」と呼びます

ヒント
初めて開いたときは、「無題のプロジェクト」という名前になっています。あとで名前を変更しますので、そのまま進めて大丈夫です。
注意
ここで開いたApps Scriptエディタは、手順1で開いたスプレッドシートと自動的に結びついています。つまり、後から「どのスプレッドシートに紐づいているか」を選び直す必要はありません。この結びつきは、Apps Scriptエディタを開いた「入口」によって決まる、という点を覚えておいてください。
5.4 プロジェクトに名前をつける#
✅ 手順
- Apps Scriptエディタの左上に表示されている「無題のプロジェクト」という文字をクリックします(画面左上、Apps Scriptのロゴのすぐ右です)

- 名前を入力する小さな画面が表示されるので、「院内表彰システム」のようにわかりやすい名前を入力します
- 「名前を変更」ボタンをクリックして確定します

5.5 Code.gs の中身を貼り付ける#
Apps Scriptエディタを開くと、最初から Code.gs という名前のファイルが1つ用意されています。この中身をまるごと入れ替えます。
✅ 手順
- 画面左側のファイル一覧から
Code.gsをクリックして選択します(左側の細長いパネルの中、「ファイル」という見出しの下に表示されています)

- 右側の広い編集エリアに、最初から
function myFunction() {のようなサンプルの文字が入っています。この部分をすべて選択します - 編集エリアの中をクリックしてから、キーボードで
Ctrl+A(Macの場合はcommand+A)を押すと、すべての文字が選択されます
📷 スクリーンショット準備中(画像No.48)
編集エリアの文字がすべて選択され、青色にハイライトされた状態
- キーボードで
Delete(またはBackspace)を押して、中身をすべて消します - 用意されている
Code.gsの中身(テキスト)をすべてコピーします - Apps Scriptエディタの編集エリアをクリックし、
Ctrl+V(Macの場合はcommand+V)を押して貼り付けます
📷 スクリーンショット準備中(画像No.49)
Code.gsの中身が貼り付けられた直後の編集エリア
- 貼り付けた内容が、正しく最後まで入っていることを確認します
- 目安として、
Code.gsの一番最後にはtestConnectionやformatExportTitle_のような、いくつもの機能(関数)が並んでいます。貼り付け後、編集エリアを下までスクロールし、途中で文章が途切れていないか確認してください
5.6 index.html/style.html/script.html を新規追加する#
Code.gs 以外の3つのファイルは、Apps Scriptエディタに新しく作成する必要があります。
✅ 手順(index ファイルの作成)
- 画面左側のファイル一覧の右上あたりにある「+(ファイルを追加)」のアイコンをクリックします(「ファイル」という見出しのすぐ右にある、小さな「+」マークです)

- メニューが開くので「HTML」を選択します(「スクリプト」「HTML」の2つの選択肢のうち、下側です)

- ファイル名を入力する欄が表示されます。
indexと入力し、Enterキーを押します - ⚠️ ファイル名には
.htmlを付けないでください。「index」とだけ入力すれば、Apps Scriptが自動的にHTMLファイルとして扱います
📷 スクリーンショット準備中(画像No.52)
ファイル名を入力する欄に「index」と入力された状態
indexという名前の新しいファイルが作成され、編集エリアに切り替わります。最初から入っているサンプルの中身を、Code.gsのときと同じようにCtrl+A→Deleteですべて消します- 用意されている
index.htmlの中身をコピーし、編集エリアにCtrl+Vで貼り付けます
✅ 同じ手順を、あと2回繰り返します
- 「+(ファイルを追加)」→「HTML」→ファイル名に
styleと入力 → 中身をstyle.htmlの内容に入れ替える - 「+(ファイルを追加)」→「HTML」→ファイル名に
scriptと入力 → 中身をscript.htmlの内容に入れ替える
すべて終わると、画面左側のファイル一覧に、次の4つが並んでいるはずです。

注意
ファイル名は index・style・script にしてください。これは、Code.gs の中の include("style") include("script") という命令が、この名前でファイルを呼び出す仕組みになっているためです。名前が違うと、システムが正しく動作しません。表札の例えで言えば、Code.gs は「style」「script」という名前の部屋を探しに行くので、部屋の名前がそれと違うと、いくら中身が正しくても見つけてもらえません。
図解提案(今後のイラスト化候補)
図解提案:4つのファイルが、それぞれどう連携しているかを示す図(Code.gsが中心にあり、そこから index・style・script へ矢印が伸びるイラスト)を入れると、ファイル構成の全体像がつかみやすくなります。
5.7 保存する#
✅ 手順
- Apps Scriptエディタの上部にある、フロッピーディスクのアイコン(保存アイコン)をクリックします。または、キーボードで
Ctrl+S(Macの場合はcommand+S)を押します - 位置の目安:画面上部、プロジェクト名のすぐ下にあるツールバーの、一番左のアイコンです

- 画面上部に「プロジェクトを保存しました」のような表示が一瞬出れば保存完了です
ヒント
フロッピーディスクという言葉に馴染みがなくても大丈夫です。多くのソフトで「保存」を表すアイコンとして、昔の記録メディアの形が今でも使われています。四角い枠の中に、左上が斜めに欠けた図形が描かれているアイコンを探してください。
5.8 スプレッドシートIDをコードに設定する#
ここまでで4つのファイルの貼り付けが終わりました。次に、このプログラムに「どのスプレッドシートを読み書きするか」を教えてあげる作業を行います。
注意
5.3節で触れたとおり、Apps Scriptエディタは開いた入口(スプレッドシート)と自動的に結びついています。しかし Code.gs のプログラムの中では、「どのスプレッドシートの、スタッフ・賞一覧・設定シートを読み書きするか」を、別途スプレッドシートIDという番号で明示的に指定する作りになっています。そのため、この設定を忘れると、正しく動作しません。
スプレッドシートIDをもう一度確認する#
第4章4.4節で確認したスプレッドシートIDを、あらためて正確に取得します。
✅ 手順
- スプレッドシートを開き、ブラウザの一番上、アドレス欄に表示されているURLをクリックして、全体を選択します
📷 スクリーンショット準備中(画像No.55)
ブラウザのアドレス欄がクリックされ、URL全体が青くハイライトされた状態
- URLは次のような形になっています
/d/の後ろから、次の/editの直前までの文字列だけが「スプレッドシートID」です- この部分だけを、マウスでドラッグして選択し、
Ctrl+C(Macの場合はcommand+C)でコピーします
📷 スクリーンショット準備中(画像No.56)
URLの中の「/d/」と「/edit」の間の文字列だけがドラッグして選択された状態
注意
IDの前後には、https://docs.google.com/spreadsheets/d/ や /edit#gid=0 のような文字が付いています。これらの部分は含めず、IDの文字列だけを正確にコピーしてください。
Code.gs を開いて書き換える#
✅ 手順
- スプレッドシートのメニューから「拡張機能」→「Apps Script」を選び、Apps Scriptエディタを開きます
- 画面左側のファイル一覧から
Code.gsをクリックします - 編集エリアの上のほう(1〜10行目あたり)に、次のような1行があります

- ダブルクォート(
")で囲まれた部分(ここに自分のスプレッドシートIDを入れるの文字)だけを、マウスでドラッグして選択します - コツ:ダブルクォートのすぐ内側をクリックし、そのままダブルクォートのもう片方の内側までドラッグすると、
"自体を巻き込まずに選択できます

- キーボードの
Deleteキーを押して、選択した文字を削除します - コピーしたスプレッドシートIDを、
Ctrl+V(Macの場合はcommand+V)で貼り付けます - 貼り付けた後の1行は、次のようになっているはずです(IDの部分はご自身のものに置き換わります)
注意
ダブルクォート(")を消してしまわないように注意してください。IDの前後にある " はそのまま残し、その内側の文字だけを入れ替えます。ダブルクォートを消してしまうと、プログラム全体がエラーになってしまいます。
保存する#
Apps Scriptエディタ上部の保存アイコンをクリックするか、Ctrl+S(Macの場合は command+S)で保存します。
5.9 正しく設定できたか確認する(テスト実行)#
Code.gs には、設定が正しいかどうかを確認できる testConnection という機能があらかじめ用意されています。この機能を使うと、実際にWebアプリとして公開する前に、設定の正しさを確認できます。
✅ 手順
- Apps Scriptエディタの上部にある、実行する関数を選ぶプルダウンメニュー(「myFunction」のように表示されている部分)をクリックします
- 位置の目安:ツールバーの中央あたり、「デプロイ」ボタンの左側にあります

- 一覧から
testConnectionを選択します

- プルダウンの右にある「実行」ボタン(再生マークの三角アイコン)をクリックします

-
初めて実行する場合、「承認が必要です」という画面が表示されます。これは、「このプログラムが、あなたに代わってスプレッドシートやDriveを操作してよいか」の許可を求める、Googleの標準的な確認画面です。次のように進めます
-
「権限を確認」ボタンをクリックします
- Googleアカウントを選ぶ画面が出るので、第2章で準備したアカウントを選びます
- 「このアプリは Google で確認されていません」という注意画面が表示されることがあります。これはGoogleの標準的な確認画面で、自分自身が作成したプログラムであれば問題ありません。画面左下の「詳細」をクリックし、表示される「(プロジェクト名)に移動」をクリックします
- 「〇〇が次の許可をリクエストしています」という画面で、内容を確認し「許可」をクリックします

注意
この承認は、あなた自身が作成したプログラムに対して、あなた自身のデータへのアクセスを許可する操作です。見慣れない警告画面が出ると不安に感じるかもしれませんが、これは「自作のプログラムだから、Google公式の審査を受けていません」ということを示しているだけで、正しい手順どおりに進めていれば心配はいりません。
- 実行が終わると、画面下部の「実行ログ」にメッセージが表示されます
- 🔍 用語ミニ解説:実行ログ プログラムを実行した結果や、途中経過のメッセージが記録される場所です。エラーが起きた場合も、ここに赤い文字で内容が表示されます

- 「設定」「スタッフ」「賞一覧」シートの入力がすでに済んでいれば、投票期間・最大人数・スタッフ数・賞数などの情報が実行ログに表示されます。エラーが出た場合は、その内容をヒントにシートの入力内容や
SPREADSHEET_IDの設定を見直してください
注意
もし「スプレッドシートが見つかりません」「Exception: 権限がありません」といったエラーが出た場合は、コピーしたIDが正しいか、ダブルクォートを消してしまっていないかを確認してください。第10章10.1節にも、よくあるエラーへの対処法をまとめています。
5.10 うまく貼り付けられないときは#
❓ コピーしたはずなのに、貼り付けても何も反応がない
- 編集エリアの中を一度クリックしてカーソルを表示させてから、もう一度貼り付け操作を行ってください
- ブラウザの「貼り付けの許可」を確認するポップアップが出た場合は、「許可」をクリックしてください
❓ 貼り付けた文字が一部おかしくなっている(文字化けのように見える)
- コピー元のファイルを開き直し、最初から最後まで正しく選択できているか確認してから、もう一度コピー&貼り付けを行ってください
- 特に、コピー元がメールの本文などの場合、一部の記号が正しくコピーされないことがあります。可能であればテキストファイルから直接コピーすることをおすすめします
❓ 複数人で同時にApps Scriptエディタを編集してもよいか
- 技術的には可能ですが、同じファイルを同時に編集すると、お互いの変更が競合し、意図しない上書きが起きることがあります。プログラムファイルの編集(第5〜6章の作業)は、基本的に1人の担当者が行うことをおすすめします。日常的な運用(スプレッドシートの編集)は、複数人で分担しても問題ありません。
5.11 この章のまとめ#
- Apps Scriptは、スプレッドシートと投票画面の間を取り持つ「通訳」のような役割を果たしている
- スプレッドシートの「拡張機能」→「Apps Script」からApps Scriptエディタを開いた
Code.gsの中身を、用意されたプログラムの内容に入れ替えたindex・style・scriptという名前(拡張子なし)で新規HTMLファイルを3つ作成し、それぞれの中身を貼り付けたCode.gsのSPREADSHEET_IDに、自分のスプレッドシートIDを設定したtestConnectionを実行し、初回の権限承認を行いながら、設定が正しく反映されているかを確認した
理解度チェック#
- [ ] Apps Scriptは、どんな役割を果たしていますか?(5.1節)
- [ ]
index・style・scriptというファイル名にする理由を説明できますか?(5.6節) - [ ]
testConnectionを実行する目的は何ですか?(5.9節)
次の第6章では、いよいよこのシステムをWebアプリとして公開(デプロイ)します。