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

Google Apps Script(GAS)の入門解説です
最終更新日:2020-09-01

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

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アプリ等との連携が、とても簡単に実現できます。

マクロ機能について

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

マクロを記録

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の用途はますます広がっていくでしょう。
もちろん、ffice製品も進化していくので、用途に応じて適宜判断は必要です。

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回.Google Apps Scriptって何?GASって何?
第2回.とにかく書いてみよう(スクリプト エディタ)
第3回.スクリプトを実行するには
第4回.セルに数字や文字を入れる
第5回.変数って何だ?
第6回.セルの値を使って計算する
第7回.同じ計算を行数分繰り返す
第8回.最終行を取得して繰り返す
第9回.コメントの書き方
第10回.条件で処理を変える(条件分岐,if)
第11回.条件で処理を変える(条件分岐,switch)


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

import文(パッケージ・モジュールのインポート)|Python入門(9月24日)
例外処理(try文)とexception一覧|Python入門(9月23日)
リスト内包表記|Python入門(9月22日)
Pythonの引数は参照渡しだが・・・|Python入門(9月21日)
lambda(ラムダ式、無名関数)と三項演算子|Python入門(9月20日)
関数内関数(関数のネスト)とスコープ|Python入門(9月18日)
関数の定義(def文)と引数|Python入門(9月18日)
組み込み関数一覧|Python入門(9月17日)
辞書(dict型)|Python入門(9月16日)
入力規則への貼り付けを禁止する|VBA技術解説(9月16日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




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


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



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