申込を集めるたび、いつも誰かの土俵を借りていた
学校で講座やイベントの申込を集めるとき、わたしはずっとGoogleフォームを使っていました。手軽だし、無料だし、それで決定的に困っていたわけじゃない。ないんですけど——使うたびに、心のどこかで小さく引っかかっていたんです。
まず、見た目。あの紫の帯と、誰が作っても同じになる画面。どれだけ文面を丁寧に整えても、「ああ、Googleフォームね」と一目で分かってしまう。自分が主催する講座の入口が、いつも借り物の顔をしている感じ。
それから、送ったあとに出る「回答を記録しました」という、そっけない一行。せっかく申し込んでくれた人に、最初にかける言葉がこれでいいのかな、と。文言も雰囲気も、こちらでは決められない。
別に大した話じゃありません。でも、「自分の窓口」を持ちたいな、という気持ちは、ずっとくすぶっていました。とはいえ、ホームページを作るほどの技術はないし、有料の受付サービスを契約するほど大げさな話でもない。だから、ずっとフォームのままでした。
結果から言います = URLを開けば誰でも使える「自分の画面」が、コードなしでできた
今回できたことを、先に言ってしまいます。
ブラウザでURLを開くと、自分でデザインした申込ページがそのまま表示される。 お名前・メールアドレス・参加人数・ひとこと(任意)を書いて「申し込む」を押すと、画面が切り替わって「受け付けました」と表示される。そして送られた内容は、わたしのスプレッドシートに、受付日時つきで1行ずつ自動でたまっていく。
その受付ページのURLを、案内のメールやメッセージに貼るだけ。受け取った人は、リンクを開いて記入して送るだけ。Googleアカウントを持っていなくても、ログインしなくても使えます。
いちばん驚いたのは、これがGoogleフォームでも、外部の有料サービスでもなく、GAS(Google Apps Script)だけで作れたということでした。「GASは、シートやメールを自動で動かす道具」だと思っていたのに、URLを開けば誰でも使える“自分の画面”——いわゆるWebアプリ——まで作れてしまう。これが、今回いちばん開けてうれしかった引き出しです。
そして毎回のことですが、わたしはコードを一行も書いていません。 書いたのはAIで、わたしがやったのは、貼って、公開設定をして、一度だけ許可しただけ。
今日の一点:GASで「自分の画面(Webアプリ)」を作る
このブログでは「GASでできること」を、引き出しを一つずつ開けるように紹介してきました。①集める ②知らせる ③書類 ④AI ⑤定期 ⑥つなぐ——そして今日開けるのが、最後の引き出し、⑦「自分の画面(Webアプリ)」です。
これまでの回は、裏側で静かに動く自動化が多かった。今日のは、ちょっと毛色がちがいます。今日できるようになるのは、たった一つ。URLを開くと、誰でも使える“画面”そのものが現れる。 これまで「スプレッドシートやGmailを動かす道具」だと思っていたGASが、じつは「ブラウザで開けるページ」も出力できる。この一点だけ、今日は受け取ってください。
仕組みはとてもシンプルでした。今回AIが書いてくれたコードは、ファイル1つだけ。中でやっていることは、たった二つです。
- ページを開いたとき、申込フォームの画面を表示する(
doGetという部分が担当) - 送信ボタンが押されたとき、内容をシートに1行記録する(
saveEntryという部分が担当)
画面のデザイン(見出しや入力欄、ボタンの見た目まで)も、そのコードの中に一緒に入っています。だから管理するファイルは1つきり。シンプルなほど、わたしのような人間にはありがたいんです。
同じものを作る:AIに渡す文章(コードは書きません)
例によって、自分でコードは書きません。ChatGPTやGeminiのような対話AIに、次の文章をそのまま頼むだけです。
——中身は読まなくて大丈夫。まるごとコピーして、貼るだけです。
Google Apps Script で、講座・イベントの「申込受付ページ(Webアプリ)」を作ってください。コードは全部あなたが書いてください。わたしはコードが読めない前提でお願いします。
1. スプレッドシートに紐づくスクリプトとして作ること(このシートに申込を記録します)。
2. ブラウザでURLを開くと、申込フォームの画面が表示されるようにする。集める項目は「お名前」「メールアドレス」「参加人数(数字・初期値1)」「ひとこと(任意)」の4つ。スマホでも読みやすいデザインにしてください。
3. 「申し込む」ボタンを押したら、その内容を、このスプレッドシートの『申込一覧』というシートに1行追記する。記録する列は「受付日時・お名前・メール・参加人数・ひとこと」。『申込一覧』シートが無ければ、見出し付きで自動で作ってください。
4. 送信が終わったら、同じ画面を「受け付けました」というお礼の表示に切り替える。
5. 画面のHTMLは、別ファイルにせず、コードと同じ1ファイルの中にまとめてください(管理しやすいように)。元のデータは消さない・上書きしない、毎回1行ずつ足すだけにしてください。
6. これをウェブアプリとして公開する手順(デプロイ=「実行するユーザー=自分」「アクセスできるユーザー=全員」、初回の許可、発行されたURLの開き方)も、コードが読めない人向けに一つずつ教えてください。
このとおりに頼めば、AIがコード(実体は、とても短い1ファイルです)と手順をひとそろい返してくれます。あとは下のステップを、言われたとおりになぞるだけ。順番に見ていきます。

作り方の体験:貼って、公開して、許可するだけ
1. コードを貼る
Googleスプレッドシートを1枚作って(わたしは「講座申込」という名前にしました)、メニューの「拡張機能」→「Apps Script」を開きます。まっさらなエディタが出てくるので、AIが書いたコードをまるごと貼り付けて保存。これだけ。中身は読まなくて大丈夫です。
2. 公開(デプロイ)する
ここが、今回はじめて出てくる操作です。エディタ右上の「デプロイ」から「新しいデプロイ」を選び、種類を「ウェブアプリ」にします。設定で大事なのは2つだけ。
- 次のユーザーとして実行:自分
- アクセスできるユーザー:全員
この「全員」が、今回のキモです。これにしておくと、Googleアカウントを持っていない人・ログインしていない人でも、URLを開けば使えるようになります。講座に申し込む人にアカウントを要求しないための設定です。


3. 初回だけ「許可」する
デプロイの途中で、一度だけGoogleの許可画面が出ます。これは「このスクリプトが、あなたのシートに書き込んでいいですか?」という確認で、本人が一度承認すればおしまい。次からは出ません。怖い操作ではなく、自分の作ったものに自分でOKを出すだけです。

4. URLを開いてテストする
許可まで終わると、.../exec で終わる長いURLが発行されます。これが、あなたの受付ページのアドレス。スマホで開くと、ちゃんと自分でデザインした申込フォームが表示されました。


試しに、テスト申込を送ってみます。お名前・メール・人数を入れて「申し込む」。

ボタンを押すと画面が切り替わって——「✓ 受け付けました」。

そしてシート側を見にいくと、『申込一覧』に受付日時つきで1行、ちゃんと記録されていました。フォームより自分らしい入口で、名簿は自動でたまる。これがやりたかったことです。

これで完成です。あとは、このURLを参加してほしい人に渡すだけ。「貼って、公開して、一度許可しただけ」——これが、このブログのいつものやり方です。
つまずき帳:スマホで「ファイルを開くことができません」が出た
正直に、ここでつまずいた話をします。
公開できたURLを、わたしが自分のスマホで普通に開いたら、フォームではなく、Googleドライブの「ファイルを開くことができません」というエラーが出たんです。「え、ちゃんと作れたはずなのに壊れてる?」と一瞬、血の気が引きました。

でも、これはアプリの故障ではありませんでした。原因は、スマホで複数のGoogleアカウントに同時ログインしていたこと。ブラウザが「どのアカウントの文脈で開くか」を取り違えて、本人以外の立場で開こうとしてしまう——よくある現象だそうです。
解決はあっけなくて、プライベートブラウズ(シークレット/匿名モード)で同じURLを開いたら、普通に表示されました。 プライベートモードは「どのアカウントにもログインしていない状態」なので、まさに外部の申込者と同じ条件。念のため、ログインしていない状態でこのページがちゃんと開くかも、別途(匿名でのアクセス)で確かめました。きちんと表示される。アプリ自体は最初から正常で、見えなくしていたのは“自分のログイン状態”のほうだった、というオチでした。
ここから分かった配布のコツ。人に受付ページを案内するときは、「ログインは要りません。もしエラーが出たら、プライベートモード(シークレット)で開いてみてください」と一言そえると親切です。作った本人がいちばん引っかかりやすくて、外部の人はむしろすんなり開ける、というのが面白いところでした。
正直に、これはできません
驚きの大きい回ほど、できないことも盛らずに置いておきます。これを分かったうえで使えば、がっかりしません。
- 大規模・商用サービスの代わりにはなりません。 数十人〜数百人くらいの申込なら快適ですが、何千人が一斉に殺到するようなサービス向きではありません。GASの無料枠には上限があり(1回の実行は6分まで、同時に動かせる数の上限など。正確な値はアカウントの種類で変わります)、そこを超える規模は想定外です。
- 見た目は自由でも、完全に“自分のサイト”ではありません。 デザインは好きにできるものの、ページは安全のための枠(サンドボックスiframe)の中に表示され、上部に「このアプリは Apps Script で作成されました」というバナーが出ます。表示も、ほんの少しもたつくことがあります。
- 誰が申し込んだかは、記入頼みです。 ログイン不要にしている=匿名なので、フォームに書かれたお名前・メールがそのまま情報源になります。確実に本人確認したいなら「アクセス=全員」をやめてログイン必須にもできますが、その場合はGoogleアカウントを持っている人限定になります。一長一短です。
- 決済・送金はできません。 ページの中でお金のやり取りはできません。参加費が要るなら、外部の決済サービスへのリンクを貼る形になります。
- 動き続ける保証はなく、直すには再公開が必要です。 24時間の稼働保証はありません。コードを直したときは、もう一度デプロイ(再公開)しないと反映されない点も覚えておいてください。
ひと言でまとめると——Eventbriteのような本格的な申込サービスの代わりにはなりません。でも、「自分の講座の申込を受けて、名簿を作って、お礼を表示する」だけなら、これで完璧でした。 身の丈に合った道具、という感じです。借り物ではない、自分のページ。その安心は、思っていたより大きいものでした。
次の引き出しへ
今日は⑦「自分の画面(Webアプリ)」を、いちばんシンプルなかたち——URLを開けば誰でも使える申込ページ——で開けてみました。GASは、裏方の自動化だけじゃなく、こうして“見える画面”まで出せる。この感触が伝われば、今日はじゅうぶんです。
そして、このブログの引き出しは横に並んでいるので、今日の受付ページに別の引き出しを組み合わせることもできます。たとえば、申し込んだ人に自動で確認メールを返すなら、それは②「知らせる」の引き出し。申込内容をPDFの控えにして渡すなら、③「書類」の引き出し。どれも、今日と同じ「AIに頼んで、貼るだけ」で届く範囲です。今日の受付ページを練習台にして、次回もまた、引き出しをもう一つ取り出して開けてみます。
*※この記事の操作はすべて無料枠の範囲で行っています。画面の名前・アカウント名・URL・シートの内容は、マスクまたは架空のサンプルに差し替えています。料金や仕様は時期・アカウントの種類により変わることがあるため、最新の表示はご自身の環境でご確認ください。*
#定時で帰る開発部 #自動化レシピ #基礎編 #GAS #Webアプリ #つまずき帳



コメント