Google スクリプト エディタを使って開発を始めよう!

・はじめに

今回は、Googleが提供するプログラミング言語「Google Apps Script」(以下GASと略します)に関して、実際にこれから開発を始めたいという方向けに、簡単な概要紹介と、使用していく上で当たり必須なツールとなる「スクリプトエディタ」について操作方法を中心に紹介していきます。このスクリプトエディタについて、なぜ紹介が必要になるのかというと、、GASのプログラミングはスクリプトエディタを使用して進めます。つまり、GAS開発はスクリプトエディタを開く動作が第一歩となるからです。※記事の後半では、実際にGASを用いて出来ることなども紹介させていただきます。

・GAS(Google Apps Script)の概要について

皆さんGoogleについては、ご存知だと思います。例えばGoogle Mapやgmailは現代人にとって非常に身近で日常生活の中で切っても切り離せないサービスとなっていることでしょう。そんな、Googleのサービスをより効率的かつ便利に利用するためのプログラミング言語がGAS(Google Apps Script)です。

GASを使えば、Google MapやgmailなどのGoogle関連サービスを自由に連携することができたり、使いこなせるようになれば独自のWEBアプリを開発することだって可能です。

GASの基本文法は、WEB開発には欠かせないJava Scriptがベースとなっており、これまでJava Scriptを触ったことがある人や他の言語経験がある人にとってその学習にかかるコストは非常に抑えられるものになるでしょう。ちなみに多くのプログラミング初学者がぶつかる障壁となる開発用のエディタやサーバー環境設定についても、面倒な開発環境の構築作業は必要とされておりません。GASの場合は、ブラウザ上ですぐに利用できるスクリプトエディタという開発ツールが予め備わっています。(特別なインストールなどの作業は一切不要)そして無料……素晴らしいの一言に尽きます。

・スクリプトエディタについて(操作方法と画面構成)

前章でGASの概要についてはご理解いただけたかと思います。ここからは実際の開発を想定して、まずはその第一歩となるスクリプトエディタの操作について、簡単に紹介させていただきます。

操作方法

まずは肝心なスクリプトエディタの開き方についてですが、Googleスプレッドシートを開きます。スプレッドシート上段に並んでいるメニューバーから「ツール」を選択し、スクリプトエディタを開きます。そちらにコードを書いていき開発を進めていきます。

画面構成

・メニューバー:ファイルからヘルプまで一列に並んでいる上段のバーです。使用頻度が高 い機能が多いので一通り触って調べてみて下さい。

・ツールバー:メニュバーの一段下にあるスクリプト操作のためのバーです。実行を繰り返 してプログラムが思惑通りの動きをするか、ここの再生ボタンで容易に実行ができます。

主要コード説明

スクリプトエディタを開いたらあとは、実際にコードを書いていく手順となります。ここからは、スクリプトエディタにコードを書いていく上で必ず覚える必要のある実際のコードについて、説明していきたいと思います。
あなたが今回この記事を目にして初めてスクリプトエディタを開いたのでしたら、「コード.gs」という項目が左に表示され、次のような関数がある状態にあるでしょう。

function myFunction() {}

新たに別のテキストエディタをインストールするなど、環境構築に悩む必要はありません。
ここから自分でコーディングしてプログラムを組み立てていきます。
ちなみに、myFunctionの部分はいわばタイトルですので、書き換えられます。そのままにしていると、新しいものを作ろうとした時にmyFunction2、myFunction3…と続いていく形となります。

セルの指定をするメソッド(getRange)

まずは、スプレッドシート内で操作する任意のセルをスクリプトエディタ内でどのように表すのかについてです。セルの座標を指定するために使用するのは「getRange」メソッドです。書式については様々ありますが以下に書き方とその解説を紹介しておきます。

・sheet.getRange(“セル番地”)
→”A1”のように単数で指定する方法。
・sheet.getRange(“セル番地(開始): セル番地(終了)”)
→”A1”と”B2”というように複数のセルを指定することで、その範囲のセルを表す方法。
 今回の例だと、”A1”、”A2”、”B1”、”B2”の4つを指定。
・sheet.getRange( 行番号 , 列番号 )
→指定したいセルを、行と列を座標で表して指定する方法。例えば(1,2)とすると1行 目の2列目ということになり、指定するセルは”B1”。
・sheet.getRange( 行番号 , 列番号 , 行数 )
→座標で示したセルから何行範囲に含めるか指定する方法。(1,2,3)とすると”B1”か  ら”B3”までの3つのセルを指定。
・sheet.getRange( 行番号 , 列番号 , 行数 ,列数 )
→座標で示したセルを基準に行数、列数を指定して範囲を表す方法。(1,2,3,4)とする と、”B1”を左上と規定し、3行と4列の範囲を指定。

セルの取得をするメソッド(getValue)

セルの指定ができたら、その指定したセルの中の値を取得する方法について紹介します。百聞は一見にしかず。ということで実際にセルを指定してそのセルの値を取得する流れを以下に示しますのでコードをご覧になってみてください。

(例) A1のセルの値を取得するコード
var sheet=SpreadsheetApp.getActiveSheet();
var value=sheet.getRange(“A1”).getValue();
1行目については、ほとんど定例句のようなもので現在アクティブになっているシートを処理するという宣言のようなものです。次の行は前項で紹介したセルを指定する「getRange(”A1”)」のあとに「getValue()」が続いていますね。こちらが本題である、指定したセルの値を実際に取得するコードです。
ちなみに、「getRange」で複数行を指定して、複数行の値を取得したいという場合には、「getValue」では叶いません。その代わりに使用できるのが「getValues」です。複数の値を取得するので複数形で表記してあげます。

セルに値を入れるメソッド(setValue)

指定したセルの値を取り出すことができたら、ここからはセルへの値の入力方法についいて紹介していきます。今回もまた百聞は一見にしかず。ということで実際にコードをご覧になってみてください。

(例) A1に”スクリプトエディタ”という文字列を入れるコード
var sheet=SpreadsheetApp.getActiveSheet();
sheet.getRange(”A1”).setValue(“スクリプトエディタ”);
前項と大きな違いはなく理解しやすいかと思います。
まず「getRange」メソッドを用いて、”A1”のセルを指定して、その中に今回の本題である「setValue」メソッドを用いて”スクリプトエディタ”という文字列を入力しています。
ここまでで、セルの指定や取得、入力など、本当に大切で基本となるコードについて紹介させていただきました。こちらの概念を理解することがGAS開発の第一歩となりますので、反復して学習してみてください。

GASにできること

スクリプトエディタの概要や操作方法、実際に基本となるコードの紹介などをさせていただきました。これらを理解することでGoogleにある、gmailやGoogleドライブ、Googleドキュメント、Googleスプレッドシート、Googleカレンダー、Googleフォームなど多種多様で便利なサービスとGASを連携させることができます。
これらはそのまま使用しても勿論便利ですが、GASと連携させることで飛躍的に利便性や効率性が向上します。以下に実際にどのような使用例があるのか紹介していきます。

作業の自動化

これまで毎日、もしくは月末や月初など決まったタイミングで必要とされる単純な計算などの事務作業があったとします。GASで必要なコードを記載し、実行ボタンをワンクリックすることで全自動で完了させられることは多いです。

マクロ記録によるスクリプトの自動保存

コードを勉強することが煩わしいような人は最低限スプレッドシートについている「マクロの記録」という機能の使用方法を覚えれば、計算や並び替えなどの簡単な手動での操作は、自動でスクリプトに変換され実際に以降の同じ作業は実行ボタン一つで解決するようになるので、プログラミングにアレルギーがあるような人にもおすすめです。

GASでgmailを送信

sendEmailメソッドを使用すれば、GASでgmailを送信することができます。
MailApp.sendEmail(“sample@gmail.com”, “件名”, “本文”);
イメージは上記のコードで大丈夫です。

Googleフォームのサマリーデータを自動でメール受信

GASを使うことで、Googleフォームのサマリーデータを自動で、gmailで受信できます。例えば、週次のサマリーデータを自動メール受信することで、それ以降スプレッドシートを開く手間をなくすことができます。

・まとめ

今回は、Googleが提供するプログラミング言語「Google Apps Script」について、概要や、実際にGASを用いてできること。開発にあたり必須のツール「スクリプトエディタ」の操作方法や実際の基本コードなどついて紹介させていただきました。この記事内で紹介させていただいたものは一例であり、独自のWEB開発だって出来るわけですから、突き詰めるとGASでできることは無限にあります。この記事が、GASについて少しでも興味を持っていただくきっかけになれば幸いです。ご覧頂きありがとうございました。