Googleサービスを自分好みにカスタマイズできるGAS(Google Apps Script)とは?

GoogleAppsScript

GoogleのサービスはGoogle検索だけではありません。
表計算ソフトの「スプレッドシート」、スライドを作成できる「スライド」、簡単なアンケートが作れる「フォーム」、オンラインストレージ「ドライブ」、メールサービスGmailなどなど、豊富なサービスがGoogleから提供されています。

これらサービスを自由自在に連携させ、自動化することができるプログラミング言語がGASです。

GASの概要

GASはGoogle Apps Scriptの略で、Google社が提供しているプログラミング言語です。GASでプログラムを書けば、Googleの提供する各種サービスを自動化したり、つなぎ合わせて新しいツールを生み出すことができます。

GASのプログラムを書くにはいくつかの方法があるのですが、表計算ソフトのスプレッドシートからエディタ画面を起動するやり方が簡単で分かりやすいです。
このようなエディタ画面の開き方はEXCEL VBA(EXCELを動かすプログラミング言語)と共通しています。GASはGoogleサービス版のEXCEL VBAということができるでしょう。

GASでできる仕事効率化の事例

ではGASを使うとどんなことができるようになるのか、具体的な事例を見てみましょう。

ケース1 お問い合わせフォームを効率的に運用

アンケートを簡単に作成できるGoogleフォーム+Gmailを使って、お問い合わせフォームを効率的に運用することが可能です。
Googleフォームで入力された内容はスプレッドシートに転記され、自動的に保存される仕様になっています。このスプレッドシートの内容をGASで取得し、Gmailの配信先に設定するのです。

具体的な流れはこうです。まずGoogleフォームにメールアドレスの入力欄を作り、問合せ側のメールアドレスを入力してもらいます。このメールアドレスは一度スプレッドシートに自動保存されます。

GASの関数にはメールを送信する機能を持っているものがありますので、この関数にメールアドレスや問い合わせの内容を渡します。またカスタマーサービスの部署にメールのコピーを送るようにも設定します。最後にGASプログラムが動き出すタイミングを、フォーム送信時に設定します。

すると、お問合せフォームが送信されると同時に、問い合わせた相手に内容確認用のメールを自動返信し、加えてカスタマーサービスに問い合わせ内容を転記したメールを送ることができます。

ケース2  Googleカレンダーの予定を一括で設定

プロセスが複数にわたる仕事の予定を立てたいとき、Googleフォーム+Googleカレンダーを連携させると便利です。

例えば、顧客に依頼された広告を12月15日までに製作するという仕事があったとします。
この仕事は、

  1. 企画立案(11月1日締め切り)
  2. サンプル作成(11月10日締め切り)
  3. 修正(11月15日締め切り)
  4. 広告データ作成・印刷工場入稿(12月1日締め切り)
  5. 完成品の確認・納入(12月15日締め切り)

という5つのプロセスと締め切りを経ることになります。Googleカレンダーに手作業で1つずつ予定を追加していくのは大変ですよね。
そんな時はGASを使いましょう。

まずGoogleフォームで、

  • 企画立案
  • サンプル作成
  • 修正・広告データ作成
  • 印刷工場入稿
  • 完成品の確認
  • 納入

の5つの項目を立てて、日付を入力できるようにします。フォームで入力したデータは一度スプレッドシートに渡されます。GASでスプレッドシート上の入力データを取得した後、Googleカレンダーに書き込みができる関数を使ってそれぞれの日付を設定していきます。あとはプログラムの実行タイミングをフォーム送信時にすれば、Googleフォームを送信すると同時に、5つの予定がGoogleカレンダーに一瞬で追加されます。

ケース3 シフト表から明日の勤務時間を社員に通知

シフト表を表計算ソフトで作っている職場は多いと思います。シフト表に書き込まれた勤務時間を前の日に社員に通知すれば、欠勤予防に役立ちます。

まずスプレッドシート上にシフト表を作成します。シフト表の名前欄の横にメールアドレスを書き込む欄を作っておけば、プログラムの中でアドレスを順次読み込むことができます。GASプログラムでシフト表に書き込まれた時間と担当者の名前をメールアドレスに関連付け、メール送信を行う関数に渡します。あとはシフトを知らせたい日付けを設定すれば、シフトの一斉メール通知プログラムの出来上がりです。

ケース4 明日の予定をLINEで通知

Google Apps ScriptはGoogleサービスだけでなく、外部アプリとの連携もできてしまいます。例えばコミュニケーションツールLINEとGoogleサービスを連携させることも可能です。

これを使えば明日の予定をGoogleカレンダーから取得し、その内容を定期的にLINEへ送信するということも可能です。リマインダーとしてLINEを使うことで、予定を忘れることがなくなりますね。LINE Notifyという仕組みを使って、LINEと連携する必要があるので少し設定に時間がかかりますが、自分のプログラミングでLINEを操ることができるというのはすごいことです。

GASのメリット

サービス間の連携がスムーズ

GASはGoogleが提供する各種サービスとの連携が驚くほど簡単にできてしまいます。
Excel VBAでも他のMicrosoft Officeソフト(OutlookやWordなど)と連携を取ることはできますが、設定手続きが少し面倒です。また、有料ソフトのMicrosoft Officeの場合、「ExcelはインストールしているけれどWordはパソコンに入っていない」という場合もあります。それに対しGASの場合は、1行のプログラムで各種サービスを縦横無尽に渡り歩くことができます。

メジャーなプログラミング言語JavaScriptがベース

GASのベースとなるのはJavaScriptというプログラミング言語です(ただしあくまでベースであり、一部仕様は異なります)。JavaScriptを学んだことがある人なら、あまり抵抗なく使うことができるでしょう。

逆に言えば、GASを学ぶことでJavaScriptの基本に触れることができます。JavaScriptはWebデザインやWebアプリを作ることができるとても人気のあるプログラミング言語です。JavaScriptにつながるという意味でもGASを学ぶメリットは大いにあります。

環境設定が簡単

プログラミング言語の中には、実行環境を整えるのに手間やお金がかかるものがあります。しかしGASの場合必要な実行環境は単純です。ネットにつないだパソコンと、無料で取得できるGoogleアカウント、そしてブラウザ(GoogleのブラウザであるGoogle Chromeを使うのが望ましい)があれば今日からでもGASを使うことができます。

※無料のGoogleアカウントの場合、GASの実行回数やデータサイズに制限が設けられています。GASを勉強後、より実践的にGASを使っていきたいと考えた場合は、有料プランを検討してください。

GASのデメリット

学ぶ環境が整備されていない

GASは他のプログラミング言語に比べ、学ぶ環境があまり整っていません。Excel VBAやJavaScriptの参考書は数えきれないほど出版されていますし、プログラミングスクールやオンラインスクールでも学習コースが設定されていますが、GASに関しては数が少ないです。大手の本屋でもGASの参考書を見つけられないことがあります。

学ぶ範囲が広すぎる

GASでは広範囲のGoogleサービスを操作することができますが、その範囲が広すぎて逆に混乱してしまうという部分もあります。とくにプログラミング初心者のうちはSpreadsheetやGooleカレンダーなどアプリとしても使いやすく、身近なサービスに絞って勉強をした方が良いでしょう。

仕様が頻繁に変化する

GASはGoogleによって頻繁に改変が行われています。よりよいプログラミング言語に進化するための変化ではありますが、仕様がどんどん変わっていくので追いつくのが大変です。GASについて書かれた情報をネットで調べても、説明画面の内容が現在と違っていて操作に戸惑うことがあります。

GASを学ぶにはどうすればよい?

では学ぶ方法が限定されているGASについて勉強するにはどのような方法があるでしょうか。

書籍で基礎を学ぶ

GASの書籍はExcel VBAの関連書籍に比べれば少ないですが、それでも何冊かは見つけることができます。

例えば秀和システムから出版されている『Google Apps Script 完全入門』は使うカレンダーやスプレッドシート向けのプログラム紹介だけでなく、Googleサービスの基礎知識やJavaScriptの基本文法も教えてくれる貴重な本です。JavaScript初心者でも安心してGASの世界に入っていけるでしょう。

インターネットの情報を集める

GASを使ってさまざまなプログラムを作っている人が、ブログ・ホームページ上に自分のコードを公開しています。GASの基礎について解説してくれているサイトもあります。特に「こんなプログラムが組みたい」という目的がはっきりしている場合、既に同じようなプログラムを誰かが書いてネット上にコードをアップしているケースが多いです。参考になるコードがないか調べてみてください。

ただし、個人ブログなどは記事を読む順番がバラバラになりがちで体系的に学びづらい部分があります。書籍と合わせて学習したほうがよいかもしれません。

動画サイトを利用する

プログラミング学習向けの動画サイトの中にはGASに関する動画を配信しているところがあります。

以下の2サイトではGAS学習のための動画を見ることができます。どちらも実践的なアプリを作っていく過程を丁寧に解説しています。

JavascriptやEXCEL VBAからスタートする

GASの参考書籍は数が限られているので、読んでいて「これは自分のレベルには難しすぎる」ということもあるでしょう。そんなときはまず初心者向けの本が充実しているJavascriptやEXCEL VBAから学習を始めてみるという手もあります。この2つの言語はGASにも応用できる知識が満載です。プログラミングの基礎を固めたうえで、再度GASに挑戦すれば理解が進むはずです。

参考文献:高橋宣成『Google Apps Script 完全入門』

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です