「プログラミングに興味はあるけれど、環境構築で挫折した」
私もそうでした。夜勤明けにパソコンを開いて、解説どおりにインストールしたはずなのにエラーが出て、原因も分からないまま閉じる。それを何回か繰り返して、「私には向いていないんだな」と思っていました。
GAS(Google Apps Script)がよかったのは、インストールが1つもいらないことでした。ブラウザを開いて、5分後には自分の書いたコードが動きます。この記事では、その5分を一緒にやります。専門用語はそのつど説明するので、順番に読み進めてください。
GASとは何か
GASは、Googleが無料で提供しているプログラミングの実行環境です。スプレッドシート、Gmail、カレンダー、ドライブといったGoogleのサービスを、コードから自動で動かせます。
Excelマクロとの違い
「Excelのマクロと何が違うの?」とよく聞かれます。いちばん大きな違いは動く場所です。
| Excelマクロ(VBA) | GAS | |
|---|---|---|
| 動く場所 | 自分のパソコン | Googleのサーバー |
| パソコンを閉じたら | 止まる | 動き続ける |
| インストール | Excelが必要 | ブラウザだけ |
| 費用 | Officeのライセンス | 無料 |
| 言語 | VBA | JavaScript |
「パソコンを閉じても動く」——これが決定的です。毎朝7時に通知を送るような仕組みは、自分が寝ていても動いてくれます。
5分で最初のコードを動かす
Step1:エディタを開く(1分)
ブラウザで script.google.com を開き、Googleアカウントでログインします。左上の「新しいプロジェクト」をクリックしてください。
黒っぽい画面が開いて、こんなコードが最初から入っています。
function myFunction() {
}
これが「関数(かんすう)」です。処理のまとまりに名前を付けたもの、くらいの理解で今は大丈夫です。myFunction が名前で、{ } の中に処理を書きます。
Step2:1行だけ書く(1分)
{ } の中に、次の1行を足してください。
function myFunction() {
console.log('はじめてのGAS');
}
console.log(...) は「カッコの中身をログに表示して」という命令です。文字は ' (シングルクォート)で囲みます。行の終わりの ;(セミコロン)は「ここで1つの命令が終わり」という区切りです。
Step3:保存する(10秒)
Ctrl + S(Macは ⌘ + S)で保存します。上部の「無題のプロジェクト」をクリックすれば名前も変えられます。
Step4:実行して権限を許可する(2分)
上部の「実行」ボタンを押します。初回だけ、次のような画面が続けて出ます。
- 「承認が必要です」→ 権限を確認
- Googleアカウントを選ぶ
- 「このアプリはGoogleで確認されていません」→ 左下の詳細をクリック
- 「(プロジェクト名)に移動(安全ではないページ)」をクリック
- 内容を確認して許可
3番の警告で不安になりますが、これは「Googleの審査を受けていないアプリ」という意味です。今あなたが自分で書いたコードなので、正常な表示です。他人が作ったスクリプトを動かすときは、逆にこの画面をよく読んでください。
Step5:ログを見る(10秒)
画面下に「実行ログ」が開き、はじめてのGAS と表示されたら成功です。
おめでとうございます。もうコードを書いて動かした人です。
次の一歩:スプレッドシートを触ってみる
ログに文字を出せたら、次は実際のファイルを操作してみましょう。ここからがGASの本領です。
Googleドライブで新しいスプレッドシートを作り、メニューの「拡張機能 → Apps Script」を開きます。この開き方をすると、そのスプレッドシートと結びついたスクリプトになります。
function writeHello() {
const sheet = SpreadsheetApp.getActiveSheet(); // 今開いているシート
sheet.getRange('A1').setValue('こんにちは'); // A1に文字を入れる
sheet.getRange('A2').setValue(new Date()); // A2に今の日時
}
実行すると、A1に「こんにちは」、A2に日時が入ります。自分の書いた文字がシートに現れる瞬間は、ログに文字が出るより何倍か嬉しいはずです。
書いてあることは、日本語にするとこうです。
const sheet = ...… 「シート」という名前で、今のシートを覚えておくgetRange('A1')… A1のマス目を指すsetValue('こんにちは')… そこに値を入れる
const は「あとで中身を入れ替えない箱」という意味です。今は「変数を作るときのおまじない」で構いません。
console.log と Logger.log の違い
古い解説記事では Logger.log() が使われています。どちらも使えますが、表示される場所が違います。
| 書き方 | どこに出るか |
|---|---|
console.log() | 実行ログ(現在の標準) |
Logger.log() | 実行ログ(こちらも表示される) |
これから書くなら console.log() で統一して問題ありません。値の中身が分からなくなったときは、次のように型も一緒に出すと原因が早く見つかります。
console.log(typeof value, JSON.stringify(value));
最初につまずく5つのポイント
1. 実行ボタンを押しても何も起きない
エディタ上部の「実行する関数」の選択が、動かしたい関数になっていますか。関数を増やすと、ここが前の関数のままになっていることがよくあります。
2. 「承認が必要です」から先に進めない
Step4の3〜4番、「詳細」→「(プロジェクト名)に移動」の順です。この文字は小さく、見落としやすい場所にあります。
3. 赤い波線が出て実行できない
文法の間違い(SyntaxError)です。多いのは次の3つ。
'や"の閉じ忘れ)や}の閉じ忘れ- 全角スペースが混ざっている(これが曲者です)
日本語入力のまま空白を入れると全角になり、エラーになります。エラーが指す行の少し上も確認してください。
4. 日本語が文字化けする
コードの中の日本語は問題ありませんが、外部からデータを取ってくる場合に文字化けすることがあります。その場合は取得時に文字コードを指定します(UrlFetchApp の応答なら getContentText('Shift_JIS') など)。
5. 保存せずに実行してしまう
編集しても保存していないと、前のコードが動きます。実行の前に Ctrl + S を癖にしてください。
5分の次に作るとよいもの
いきなり大きなものを作ろうとすると、たいてい途中で力尽きます。私が続いたのは、自分が毎週やっている面倒な作業から選んだときでした。
おすすめの順番はこうです。
- シートに1行追加する(記録系。失敗しても被害がない)
- 自分にメールを送る(
GmailApp.sendEmail。通知の第一歩) - 決まった時間に自動で動かす(トリガー。ここで「自動化」になる)
- カレンダーやドライブとつなぐ(連携。ここまで来たら十分実用)
3番まで来ると、「書いたものが自分の代わりに働く」感覚が分かります。私の場合、そこから一気に面白くなりました。
学習を続けるコツ
- エラーは全文をそのまま検索する(日本語に訳さない方が早く見つかります)
- 公式リファレンスを1度は開く(Apps Script リファレンス。最初は読めなくても、「ここに答えがある」と知っておくだけで違います)
- 動いたコードは名前を付けて残す(次に似たものを作るとき、自分の過去コードがいちばん役に立ちます)
📚 さらに学ぶための参考書籍
PR:本記事には広告(楽天市場)が含まれます
体系的に学びたい方は、書籍を1冊手元に置いておくと調べ物が速くなります。日本語の解説書が複数出ているので、目次を見て自分のレベルに合うものを選んでみてください。
👉 楽天市場 で「Google Apps Script」または「JavaScript 入門」を検索
まとめ
- GASはインストール不要。ブラウザとGoogleアカウントだけで始められる
- 最初の1行は
console.log('はじめてのGAS') - 初回の権限確認で出る警告は、自分のコードなら正常な表示
- 次はスプレッドシートに書き込んでみる。ここで一気に実感が湧く
- 全角スペースと閉じ忘れが、最初の三大つまずきポイント
私は夜勤明けの眠い頭で、この5分を何度もやり直しました。それでも、シートに自分の書いた文字が入った日のことはよく覚えています。まずは1行、動かしてみてください。