本サイトはアフィリエイト広告(A8.net/もしもアフィリエイト/アクセストレード等)を利用しています
GAS入門|5分で書ける最初の1行コード完全解説
📂 GAS入門

GAS入門|5分で書ける最初の1行コード完全解説

📅 ⏱ 読了 約12分 ✍️ 凛

💡 本記事には広告(アフィリエイトリンク)が含まれる場合があります。

「プログラミングに興味はあるけれど、環境構築で挫折した」

私もそうでした。夜勤明けにパソコンを開いて、解説どおりにインストールしたはずなのにエラーが出て、原因も分からないまま閉じる。それを何回か繰り返して、「私には向いていないんだな」と思っていました。

GAS(Google Apps Script)がよかったのは、インストールが1つもいらないことでした。ブラウザを開いて、5分後には自分の書いたコードが動きます。この記事では、その5分を一緒にやります。専門用語はそのつど説明するので、順番に読み進めてください。

GASとは何か

GASは、Googleが無料で提供しているプログラミングの実行環境です。スプレッドシート、Gmail、カレンダー、ドライブといったGoogleのサービスを、コードから自動で動かせます。

Excelマクロとの違い

「Excelのマクロと何が違うの?」とよく聞かれます。いちばん大きな違いは動く場所です。

Excelマクロ(VBA)GAS
動く場所自分のパソコンGoogleのサーバー
パソコンを閉じたら止まる動き続ける
インストールExcelが必要ブラウザだけ
費用Officeのライセンス無料
言語VBAJavaScript

「パソコンを閉じても動く」——これが決定的です。毎朝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分)

上部の「実行」ボタンを押します。初回だけ、次のような画面が続けて出ます。

  1. 「承認が必要です」→ 権限を確認
  2. Googleアカウントを選ぶ
  3. 「このアプリはGoogleで確認されていません」→ 左下の詳細をクリック
  4. 「(プロジェクト名)に移動(安全ではないページ)」をクリック
  5. 内容を確認して許可

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. シートに1行追加する(記録系。失敗しても被害がない)
  2. 自分にメールを送るGmailApp.sendEmail。通知の第一歩)
  3. 決まった時間に自動で動かす(トリガー。ここで「自動化」になる)
  4. カレンダーやドライブとつなぐ(連携。ここまで来たら十分実用)

3番まで来ると、「書いたものが自分の代わりに働く」感覚が分かります。私の場合、そこから一気に面白くなりました。

学習を続けるコツ

  • エラーは全文をそのまま検索する(日本語に訳さない方が早く見つかります)
  • 公式リファレンスを1度は開くApps Script リファレンス。最初は読めなくても、「ここに答えがある」と知っておくだけで違います)
  • 動いたコードは名前を付けて残す(次に似たものを作るとき、自分の過去コードがいちばん役に立ちます)

📚 さらに学ぶための参考書籍

PR:本記事には広告(楽天市場)が含まれます

体系的に学びたい方は、書籍を1冊手元に置いておくと調べ物が速くなります。日本語の解説書が複数出ているので、目次を見て自分のレベルに合うものを選んでみてください。

👉 楽天市場 で「Google Apps Script」または「JavaScript 入門」を検索

まとめ

  • GASはインストール不要。ブラウザとGoogleアカウントだけで始められる
  • 最初の1行は console.log('はじめてのGAS')
  • 初回の権限確認で出る警告は、自分のコードなら正常な表示
  • 次はスプレッドシートに書き込んでみる。ここで一気に実感が湧く
  • 全角スペースと閉じ忘れが、最初の三大つまずきポイント

私は夜勤明けの眠い頭で、この5分を何度もやり直しました。それでも、シートに自分の書いた文字が入った日のことはよく覚えています。まずは1行、動かしてみてください。

関連記事