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

Google Apps Script(GAS)の入門解説です
最終更新日: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回.セルに数字や文字を入れる
第5回.変数って何だ?
第6回.セルの値を使って計算する
第7回.同じ計算を行数分繰り返す
第8回.最終行を取得して繰り返す
第9回.コメントの書き方
第10回.条件で処理を変える(条件分岐,if)
第11回.条件で処理を変える(条件分岐,switch)


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

列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
シートのActiveXチェックボックスの指定方法|ツイッター出題回答 (2023-09-24)
ByRef引数の型が一致しません。|ツイッター出題回答 (2023-09-22)
シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)


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

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




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


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



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