「プログラミングって、なんだか難しそう…」 「完璧な設計図とか、サーバーの知識とか、覚えることが多すぎる…」もしあなたがそう感じているなら、その考えは不要です。設計図なんていりません。
「こんなのあったら便利かも」「こういうのが動いたら面白そう」。 そんな、フワッとした感覚や思いつき(バイブス)だけで、ソフトウェア開発はAIを使えば始められます。
この記事では、あなたのその「バイブス」を驚くほど簡単に形にしてくれる「Google Apps Script(GAS)」と、その最高の相棒であるAI「Gemini」を組み合わせた、新しい開発スタイルを紹介します。
この記事を読めば、「自分には無理かも」という不安が「あれ、なんか作れそう!」というワクワクに変わるはずです。
Google Apps Script(GAS)とは?
今回のテーマとなるGoogle Apps Script(GAS)を一言で説明すると、GASとは「Googleの各サービスを自動化・連携させるためのツール」のことです。
有能な秘書といってもいいでしょう。あなたが「これやっておいて」とお願い(プログラミング)するだけで、24時間365日、文句ひとつ言わずに働いてくれます。
- 「このリストにある人全員にメールを送っておいて」
- 「毎日このデータを集計してグラフを作っておいて」
- 「このフォームに返信があったら、私に知らせて」
私たちは普段、Gmailが来たら手で返信し、Googleスプレッドシートに手でデータを入力し、Googleカレンダーに手で予定を登録していますよね。これら一つ一つの操作を、全部自動でやってくれるのがGASの役割です。
プログラミング初心者でも大丈夫な3つの理由
「GASを操作するための"命令文"(コード)が書けないと意味ないんじゃ…?」と思いますよね。でもご安心ください。GASが初心者にとって非常に優しいツールである理由は3つあります。
特別な準備が一切不要
プログラミングを始めるには、通常「環境構築」という専門的な準備が必要です。通常はサーバーを自分で契約して、環境を整える必要がありました。この作業が多くの初心者が挫折する一番のポイントでした。
ですが、GASはGoogleアカウントとインターネットに繋がるパソコンさえあれば、今すぐ始められます。 新しいソフトをインストールする必要もありません。
JavaScriptがベースで学びやすい
GASで使う言語は「JavaScript」という、世界中で広く使われているプログラミング言語がベースです。そのためインターネット上に学習教材や情報が豊富にあり、分からないことがあっても検索すればすぐに解決策が見つかります。
もちろん調べなくても、GASで利用するコードはGoogleのAI「Gemini」に書いてもらうので、そこで質問すれば問題が解決することがほとんどなので、難しく考える必要はありません。
小さな成功体験を積みやすい
GASはスプレッドシートのセルに文字を入力する、簡単なメールを1通送るなど、ごくごく小さな自動化から始めることができます。
実際に自身で作った作業が実行され、「できた!」という小さな成功体験を積み重ねることで、楽しみながら自然とスキルアップしていくことが可能です。
GASで使える自動化アイデア5選
では具体的にGASを使って実際にどのような業務を自動化できるのか、アイデアを5つご紹介します。
1. Gmailでの特定メールへの自動返信
毎日何通も届くメール。「〇〇に関するお問い合わせ」という件名のメールには、いつも同じ資料を送って返信している…なんてことはありませんか?
GASを使えば、特定のキーワード(件名や送信元アドレスなど)を含むメールを受信した際に、あらかじめ用意しておいたテンプレートメールを自動で返信することが可能です。これにより、一次対応の時間を大幅に削減し、より重要なメールへの対応に集中できます。
2. データ入力の自動化
セミナーの申し込みフォームや、社内アンケートなどでGoogleフォームを使う機会かと思います。しかし、集まったデータを手作業で別のシートにコピーしたり、見やすいように整形したりするのは大変です。
GASは、Googleフォームに新しい回答が送信されたタイミングで、その内容を自動的に指定のスプレッドシートに転記し、さらにはセルの色を変えたり、特定の値を計算したりすることまで自動化できます。
3. 報告書作成の自動化
毎週、あるいは毎月作成する定型的な報告書はありませんか?スプレッドシートにまとめた売上データやアクセス解析の数値を、Googleドキュメントの報告書テンプレートにひたすらコピー&ペースト…。この作業はGASを使えば行わなくてよくなります。
スプレッドシート上のデータを参照し、Googleドキュメントのテンプレートに自動で流し込んで、報告書を自動生成することが可能です。「〇月の営業報告書」といったファイル名で、毎月1日に自動で作成させることも夢ではありません。
もちろんスプレッドシートの情報からグラフを挿入した報告書を作成することも可能です。
4. タスク管理の自動化
お客様とのアポイントや、プロジェクトの締め切りなどを、メールやチャットで受け取った後、手動でカレンダーに登録していませんか?登録漏れが原因で、ダブルブッキングやリスケが必要にあった経験がある方もいるかもしれません。
はい、そのタスク管理の自動化もGoogle Apps Script(GAS)の得意分野です。Gmailに届いた依頼メールからタスクの内容と期限を抽出し、スプレッドシートに一覧化、さらにGoogleカレンダーに自動で登録するという一連の流れを完全に自動化できます。
これにより抜け漏れを防ぎ、確実なスケジュール管理ができるようになります。
5. 外部サービス連携:ChatworkやSlackへの自動通知
GASのすごいところは、Googleサービス内だけに留まらない点です。少し応用すれば、ChatworkやSlackといった外部のチャットツールとも連携できます。
例えばGoogleフォームでクレームに関する回答を受け取ったら、即座にSlackの特定チャンネルに通知を飛ばす、といった仕組みが作れます。これにはSlackやChatworkのAPIを利用することになりますが、緊急性の高い情報への対応スピードを格段に向上させることができます。
GASで実現する「バイブコーディング」開発スタイル
ここまでの流れを読んでGASを使えば大抵のことができると思ったかもしれません。もちろんそうなのですが、そのためにはそれを実現させるコードを書く必要があります。
このコードが難しいと感じるかもしれませんが、そこはAIの出番です。AIとGASを組み合わせた「バイブコーディング」によって、自分の考えるウェブアプリを開発できるようになります。
難しい英語の文字列を全部覚える必要はありません。以下の3ステップを繰り返すだけです。
Step1:AIに「やりたいこと」を伝える
まずはGeminiなどのAIに、「こういった作業が自動化したい」という意思をプロンプトとして入力します。言語は日本語のままで大丈夫です。
たとえば先ほどの例に挙げた、「Gmailに届いた期限やタスクをスプレッドシートにまとめて、それをカレンダーに自動登録させることをGASを使ってできますか?」このように聞くだけでOKです。
このときGeminiであれば「Canvas」というボタンがプロンプトを入力する箇所の近くにあるので、それを押してから指示を入力するようにしてください。
Step2:AIが書いたコードをGASにコピペする
先ほどのプロンプトに対して、AIが自動でコードを書いてくれます。
依頼した内容によってコードが書き終わるまでに時間がかかりますが、リクエストに応じたGASのコードを書いてくれますので、それをコピーして、今度はGASの画面(スクリプトエディタ)に貼り付けるだけです。
先ほどの内容であれば、以下のようなコードが出力されるので、これをはスクリプトエディタに貼り付けます。
command
/**
* Gmailに届いたタスク依頼メールを解析し、
* スプレッドシートに転記して、Googleカレンダーに登録します。
*
* 【動作の前提】
* - タスク依頼メールは、件名に「【タスク依頼】」が含まれているものとします。
* - メールの本文に、以下の形式でタスク内容と期限が記載されているものとします。
* タスク内容:〇〇の資料作成
* 期限:2023/12/31
*
* 【事前準備】
* 1. 抽出したタスクを記録するGoogleスプレッドシートを用意します。
* (例: A列にタスク内容, B列に期限, C列にステータス, D列にメールURL)
* 2. タスクを登録するGoogleカレンダーを用意します。
* 3. このスクリプトの `SPREADSHEET_ID` と `CALENDAR_ID` を
* 実際のファイルのIDに書き換えます。
*/
function processGmailTasks() {
try {
// --- 1. 設定項目 ---
const SPREADSHEET_ID = 'YOUR_SPREADSHEET_ID'; // タスクを記録するスプレッドシートのID
const SHEET_NAME = 'タスク一覧'; // 記録するシート名
// デフォルトカレンダーを使う場合は 'primary' のままでOK
// 特定のカレンダーを使いたい場合は、そのカレンダーIDを設定
const CALENDAR_ID = 'primary';
const GMAIL_SEARCH_QUERY = 'subject:("【タスク依頼】") is:unread'; // 検索するメールの条件
const PROCESSED_LABEL_NAME = '処理済みタスク'; // 処理後に付けるGmailラベル名
// --- 2. Gmailからタスクメールを検索 ---
const threads = GmailApp.search(GMAIL_SEARCH_QUERY);
// 処理済みラベルがなければ作成
let processedLabel = GmailApp.getUserLabelByName(PROCESSED_LABEL_NAME);
if (!processedLabel) {
processedLabel = GmailApp.createLabel(PROCESSED_LABEL_NAME);
}
// --- 3. スプレッドシートとカレンダーの準備 ---
const spreadsheet = SpreadsheetApp.openById(SPREADSHEET_ID);
const sheet = spreadsheet.getSheetByName(SHEET_NAME);
if (!sheet) {
throw new Error(`シート「${SHEET_NAME}」が見つかりません。`);
}
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
if (!calendar) {
throw new Error(`カレンダーID「${CALENDAR_ID}」が見つかりません。`);
}
// --- 4. 各メールを処理 ---
threads.forEach(thread => {
const message = thread.getMessages()[0]; // スレッドの最初のメッセージを対象とする
const body = message.getPlainText(); // メールの本文をテキストで取得
const messageUrl = thread.getPermalink(); // メールへの直リンク
// --- 5. 正規表現でタスク内容と期限を抽出 ---
const taskMatch = body.match(/タスク内容:(.*)/);
const dueDateMatch = body.match(/期限:(\d{4}\/\d{1,2}\/\d{1,2})/);
if (taskMatch && dueDateMatch) {
const taskDescription = taskMatch[1].trim();
const dueDateStr = dueDateMatch[1];
const dueDate = new Date(dueDateStr);
// --- 6. スプレッドシートに追記 ---
sheet.appendRow([
taskDescription,
dueDate,
'未完了', // 初期ステータス
messageUrl
]);
// --- 7. Googleカレンダーに終日予定として登録 ---
calendar.createAllDayEvent(taskDescription, dueDate, {
description: `関連メール:\n${messageUrl}`
});
Logger.log(`タスク「${taskDescription}」を登録しました。`);
// --- 8. 処理済みとしてマーク ---
thread.addLabel(processedLabel);
thread.markRead();
} else {
Logger.log(`メールからタスク情報が抽出できませんでした。件名: ${message.getSubject()}`);
}
});
} catch (e) {
Logger.log(`エラーが発生しました: ${e.message}`);
}
}
同時にどのように設定したらいいかの解説まで作成してくれるので、それに従って作業すればOKです。わからなければ、わからないところを聞くとその点についてまた詳しく教えてくれます。
Step3:動かして、試して、またAIに聞く
貼り付けたコードを指示通りに設定して「実行」してみましょう。 一発で完璧に動くこともあれば、エラーが出ることもあります。でも問題ありません。
エラーが出たら、そのエラーメッセージごとAIにコピペして「このエラーはどういう意味?どう直せばいい?」と聞けばOKです。
「もう少し色を派手にしたいな」「ボタンを大きくしたいな」と思ったら、それもまたAIに相談します。この試行錯誤のキャッチボールによって、作成したものがブラッシュアップされていきます。
まとめ
プログラミングは、もはや一部の専門家だけのものではありません。 GASとAIの登場によって、誰もが自分の「あったらいいな」を気軽に形にできる時代になりました。
- 完璧な知識はいらない。 わからないことは全部AIに聞けばいい。
- サーバー契約はいらない。 Googleアカウントがあれば、今すぐ始められる。
- 失敗を恐れなくていい。 エラーは、AIが全て教えてくれて修正してくれる。
もちろんうまくいかないこともありますが、その際はもう一度一から作り直すとうまくいくこともあります。AIは何度聞いても怒りませんし、遠慮もいりません。
まずは「これができたらいいな」をAIにできるか聞いてみましょう。あなたの遊び心から生まれる小さな経験が、あなたの業務を大きく効率化させる一歩になるかもしれません。
AIを利用するなら個人的おすすめはGeminiです。Google Workspaceの契約をするとGemini Proと呼ばれる高性能モデルをほぼ制限なく利用できます。他のAIサービスを契約するよりも、Google Workspace Business Standardであれば、ChatGPTの約半額の料金で利用できます。
それだけではなく、2TBのストレージや他のGoogleサービスも付いてくるのでとてもお得です。今ならWorkspaceの初年度10%offクーポンを配布していますので、興味のある方はぜひこちらの記事をご覧ください。
-
-
参考Google Workspaceは無料で使うべき?有料版の「Starter」「Standard」の2つのプラン比較
フリーランスや個人事業主の方なら、一度は「無料のGoogleアカウントがあるのに、わざわざ有料のGoogle Workspaceにお金を払う必要があるの?」と疑問に思ったことがあるでしょう。 &nbs ...
続きを見る