Google Apps Script入門
GASって何? Google Apps Scriptって何?

Google Apps Script(GAS)の入門解説です
公開日:2016-09-26 最終更新日:2022-11-04

第1回.GASって何? Google Apps Scriptって何?


Google Apps Scriptは、Googleが提供するサーバーサイド・スクリプト環境です。
Google Apps Scriptの頭文字をとってGASと省略されます。


Google Appsは、クラウドのグループウェアツール群ですが、
GASは、Googleドキュメント専用ではなく、Googleが提供するサービス全般で利用できるスクリプトです。
Google Apps Script(GAS)はJavaScript互換言語ですので、JavaScriptの文法に準じます。


スクリプトとは

コンピュータプログラムの種類の一つで、
機械語や実行可能ファイルの作成などの過程を省略し、
ソースコードを即座に実行できるようなプログラムのことをスクリプトといいます。


Google Apps Script(GAS)のメリット

・Googleアカウントがあれば誰でも開始できる
・開発環境のインストール(準備)がいらない

Googleの他のアプリケーション(ドキュメント、カレンダー、Gmail等)との連携が簡単です。


スプレッドシートでの活用

Googleスプレッドシートでマクロを作成する時のプログラミング言語として、
Google Apps Script(GAS)が使われます。

ExcelにおけるVBA(Visual Basic Applications)に相当します。

スプレッドシート内での自動化はもちろん、
他のGoogleアプリ等との連携が、とても簡単に実現できます。


マクロ機能について

以前はスプレッドシートにはマクロ機能がありませんでしたが、近年マクロ機能が追加されました。
エクセル同様に、手動で行った操作がマクロ記録されます。

メニューが変更されました・・・2021/11/8追記

メニューが変更され、「マクロ」と「Apps Script」は拡張機能に移動しました。

GAS マクロ記録 Google Apps Script

以下の説明はメニュー変更前の物ですので、適宜読み替えてください。


マクロを記録

GAS マクロ記録 Google Apps Script

記録を開始すると以下の表示が出現します。

GAS マクロ記録 Google Apps Script

「絶対参照を使用」と「相対参照を使用」について
既定では「絶対参照を使用」になっています。

相対参照は、エクセルのマクロ記録にもあり、考え方は同じです。

GAS マクロ記録 Google Apps Script

現在のセルからの位置の移動(ずれ)としてセル位置を記録するものです。
エクセルのマクロ記録でもほぼ使う事はありませんし、スブレッドシートでもあまり使う事はないはずです。

絶対参照で記録されたコード
function myFunction1() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('B2').activate();
  spreadsheet.getCurrentCell().setValue('A');
  spreadsheet.getRange('B3').activate();
};

相対参照で記録されたコード
function myFunction2() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getCurrentCell().offset(1, 1).activate();
  spreadsheet.getCurrentCell().setValue('A');
  spreadsheet.getCurrentCell().offset(1, 0).activate();
};

新しいマクロの保存

GAS マクロ記録 Google Apps Script

記録したい操作が終了したら、「保存」をクリックします。

GAS マクロ記録 Google Apps Script

「名前」を自由に付けて、「保存」をクリックします。

GAS マクロ記録 Google Apps Script

GAS マクロ記録 Google Apps Script

これでマクロが記録されました。
記録されたマクロは、一覧で表示されます。

GAS マクロ記録 Google Apps Script


マクロ記録の使い方

自在にやりたい処理のマクロを作成するにはGASの知識が相応に必要になります。
これは、エクセルのマクロでVBA知識が必要なことと同じです。

エクセルのマクロ記録と同様に、やりたい操作のGASコードが不明な場合に、そのGASコードを調べる用途で使うのが最も効率が良いと思います。

少なくとも、余分な操作を消したり一部の操作を変更したい等々は必ず発生します。
したがって、最低限のGAS(Google Apps Script)の知識は必要になります。


Visual Basic Applications(VBA)との使い分け

PC内や事務所の共有フォルダ内のファイルを自動処理するには、
VBAのような、ローカル(つまりは操作しているPC)で実行するアプリの方が簡便です。
また、提出資料を綺麗に作って印刷するなら、やはり、Microsoft Office製品が良いでしょう。

逆に言えば、上記のような事以外であれば、
Googleスプレッドシート+Google Apps Script
これで、多くの処理を自動化出来ますし、これで無ければできない事も多くあります。
今後のIT進歩を考えれば、Google Apps Scriptの用途はますます広がっていくでしょう。
もちろん、Office製品も進化していくので、用途に応じて適宜判断は必要です。


Google Apps ScriptがV8ランタイムをサポート

2020年2月、Google Apps ScriptがECMAScriptに対応しました。
「V8ランタイム」と呼ばれるJavaScriptエンジンがサポートされたという事です。
言い方を変えると、
GASでV8ランタイムがサポートされたことで、ECMAScriptの構文が使用できるようになったという事です。

このGAS入門で扱っているコードは極めて基本的なものばかりなので、これによる影響はほぼありません。
全ての掲載コードについてV8移行後の動作を確認できてはいませんが、問題なく動作するはずです。


V8の切り替えについて

2020年3月時点、デフォルトではV8は有効になっていません。

GAS V8

ここで「有効」にすることもできますし、
メニュー「実行」からでも有効にできます。
「Chrome V8 を搭載した新しいApps Script ランタイムを有効にする」

GAS V8

有効にした後でも、元のV8無効状態に戻すことができます。

GAS V8

これらV8の切り替えは、プロジェクトごとに設定できます。
従って、V8移行してエラーとなるようなら元に戻しても良いでしょう。
ただし、今後の事を考えればV8でエラーにならないようにコード修正した方が良いと思います。


GASについての最後に

Google Apps Script(GAS)は、初期費用なしでプログラミングが始められ、
煩わしい作業を自動化したり、便利なツールを自分仕様で作成できます。
特段のリスクも無ければ、何も準備する必要はありません。
今、このページを見ているPC・タブレットがあれば十分です。

必要なものは、あなたの熱意と時間だけです。
まずは、第一歩を踏み出してみましょう!




同じテーマ「Google Apps Script入門」の記事

第1回.GASって何? Google Apps Scriptって何?
第2回.とにかく書いてみよう(スクリプト エディタ)

・スプレッドシートの用意 ・スクリプト エディタの起動 ・プロジェクト名の変更 ・プロジェクトの新規作成・削除 ・スクリプト ファイル ・スクリプトを書く ・スクリプトの保存 ・とにかく書いてみよう(スクリプト エディタ)の最後に
第3回.スクリプトを実行するには
・前回書いたスクリプト ・スクリプト エディタから実行 ・スプレッドシートのボタンにスクリプトを登録 ・スクリプトが間違っているとき ・スクリプトを実行するにはの最後に
第4回.セルに数字や文字を入れる
・新しいfunctionを追加 ・インデントについて ・書く練習 ・実行して確認 ・コードの解説 ・オブジェクトについて ・メソッドについて ・ステートメントの末尾について ・スクリプトを読めるようになりましょう
第5回.変数って何だ?
・変数とは ・前回書いたスクリプト ・A2セルにも文字を入れたい ・もっと短く書けないのか ・変数を使って書き直すと ・変数の宣言方法と使い方 ・数値や文字を変数に入れる ・変数って何だ?の最後に
第6回.セルの値を使って計算する
・セルの値の取得と設定 ・完成スクリプト、その1 ・解説、その1 ・完成スクリプト、その2 ・解説、その2 ・算術演算子(四則演算子) ・セルの値を使って計算するの最後に
第7回.同じ計算を行数分繰り返す
・同じ計算を行数分繰り返すとは ・前回のスクリプト ・完成スクリプト ・スクリプトの解説 ・forの詳細 ・ブロック文 ・同じ計算を行数分繰り返すの最後に
第8回.最終行を取得して繰り返す
・前回の復習 ・完成スクリプト ・スクリプトの解説 ・指定列の最終行 ・最終行を取得して繰り返すの最後に
第9回.コメントの書き方
・コメントアウトの書き方 ・コメントの必要性 ・コメントの書き方
第10回.条件で処理を変える(条件分岐,if)
・条件分岐(if)の例題 ・完成コード ・if...else文の説明 ・比較演算子 ・論理演算子 ・ビット演算子 ・条件分岐(if)の最後に
第11回.条件で処理を変える(条件分岐,switch)
・条件分岐(switch)の例題 ・完成コード ・switch文の説明 ・条件分岐(switch)の最後に


新着記事NEW ・・・新着記事一覧を見る

無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)
PIVOTBY関数(縦軸と横軸でグループ化して集計)|エクセル入門(2023-11-19)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.セルのクリア(Clear,ClearContents)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ