Googleドライブ・Google スプレッドシート・Gmail・Google フォーム・Google カレンダー…などなど、広告運用者だけでなくインターネットに関わる仕事をしている方であれば、これらのGoogleのサービスに全く触らない日はないのではないでしょうか。それほど私たちの仕事に必須のツールとなっていますよね。
そんな多くのツールを使っていると「カレンダーの予定見逃してた…」「フォームから問い合わせ来ても気づかず対応が遅れてしまった…」といった悩みがでてきませんか?
そんな悩みを解決してくれる方法のひとつがGoogle Apps Script(以下、GAS)です。
この記事では、GASについて、何ができるのか、どのように始めたらいいのかを解説していきます。
非エンジニアの方も知っておくことで、「こんなことをやりたい」と要望を出せるようになったりします。プログラミングの知識がなくても理解できる内容になっていますので、安心してお読みください。
目次
Google Apps Script(GAS)とは?
Google Apps Script(GAS)とは、Googleが開発・提供しているプログラミング言語です。JavaScriptというWebブラウザ上で動作するプログラミング言語をベースに作成されています。
JavaScriptは、Webサービスを作ろうと思ったときに絶対に避けては通れない、ポピュラーな言語です。そのため、多くのエンジニアにとって学習コストが低いこともGASのメリットです。
では実際に、どのような活用法があるのか、具体例をみていきましょう。
Google Apps Scriptの活用例
GASでは複数のGoogleのサービスを連携し、以下のようなことができます。
Google Appsの拡張
Googleのツールの機能を拡張できます。たとえば以下のようなことです。
- メールの自動送信・返信
- スプレッドシートでオリジナルの関数を作成する
オリジナルの関数は、たとえば以下のようなものが作成できます
- 数値が一定以上だった場合、アラートメールを送る(広告レポートでの予算やCPA管理に有効です)
- URLから短縮URLを作成する
- 住所からGoogle MapのURLを作成する
- 日付から営業日かそうでないかを返す
Google Appsの連携
複数のGoogle Appsを組み合わせて以下のようなことができます。
- フォームに回答があったらメールで通知(フォーム×Gmail)
- スプレッドシートに記入してある住所をGoogleマップのURLに変換する(スプレッドシート×Google マップ)
- スプレッドシートが編集されたら内容をドキュメントに出力(スプレッドシート×ドキュメント)
たとえば、社内の人やクライアントと広告レポートをスプレッドシートで共有している場合に、編集されたときにメールで通知する、といった活用方法が考えられます。編集後にわざわざ連絡をする手間が省けるのはお互いにとって大きなメリットですね。
GASを使って連携できるサービス
GASではさまざまなGoogle提供サービス(Google Apps)と連携ができます。GASが連携できるのは以下のGoogleのサービスです。
- Gmail
- Google ドライブ
- Google カレンダー
- Google ドキュメント
- Google スプレッドシート
- Google スライド
- Google マップ
- Google フォーム
- Google 翻訳
どのサービスも利用する機会が多く、組み合わせ次第で、さらに便利に使うことができますよね。
Google以外のツールとの連携
また、Google以外にも、各Webサービスが提供しているAPI等を利用すれば、それらのツールとも連携ができます。
たとえば、チャットツール(Slack、Microsoft Teams、Chatworkなど)と連携すれば、「特定の相手からのメールをSlackで通知する」、「今日のGoogleカレンダーでの予定をTeamsで通知する」といった活用もできます。
他にも勤怠ツールと連携してSlack上で打刻を行うといったことも可能です。
アナグラムでは勤怠ツール「AKASHI」のAPIとSlackを連携して出勤と退勤をSlackで行うようにしています。
当初は勤怠の入力漏れなどが少なくありませんでしたが、これにより朝勤怠ツールを開く手間が減り入力漏れも少なくなりました。
Google Apps Scriptの始め方
基本的なGASの始め方を解説していきます。
1.Google ドライブにログイン後「新規」をクリックします
2.「その他」→「Google Apps Script」をクリックします。
3.スクリプトエディタが起動しました。
試しに「Hello,World」というログを残すスクリプトを書いてみましょう。
Tips
Hello,Worldとは?……プログラミング初学者や、エンジニアが新しい言語を学ぶ際に、画面に「Hello, world!」を表示するプログラムを書く、というのが慣習となっております。
1.コード記入欄に下記を記入し、保存ボタンまたは「Ctrl+S」を押します。
function myFunction() {
Logger.log('Hello, World');
}
2.「▷実行」をクリックします
3.下部の実行ログに「Hello,World」と表示されました。
GoogleサービスからGASを起動する方法
たとえば、スプレッドシートが編集されたときにメールを送りたい、といった場合、スプレッドシートからGASを起動する必要があります。この場合、以下のようにGASを起動します。
1.スプレッドシートを開き、「拡張機能」→「Apps Script」とクリックします
2.スクリプト画面が表示されます。
このように、すべてがオンラインで完結できるのもGASの大きなメリットのひとつですね。
オリジナルの関数を作成する
スプレッドシートとGASを連携するメリットの1つとして、スプレッドシート上の関数と同じように使えるオリジナルの関数を作成できるという点があります。
今回はオリジナルの関数として税込価格を表示する関数を作成する手順を解説します。
1.関数を入れたいスプレッドシートを用意します。今回はC列にB列の税込価格を表示させるオリジナル関数を作成します。
2.上記の手順でスプレッドシートからスクリプトエディタを起動します。
3.下記を記載し、保存します。詳細は説明を省きますが、引数を1.1倍する関数「TAXINPRICE」を作成しています。
function TAXINPRICE(price) {
return price*1.1;
}
4.「▷実行」をクリックし、実行ログでエラーがないか確認します。
5.スプレッドシートを開き、先程作成した「TAXINPRICE」関数を記載します。
6.無事にオリジナルの関数を呼び出すことができました。
もっといい方法があるはずだ、と考え続けよう
GASはGoogleのサービス機能を拡張・相互連携し、自動化することができます。
便利さ・手軽さから使用しているユーザーも多く、Qiitaなどのエンジニアがコードを共有できるサイトやエンジニアによる個人ブログには、多くのGASのサンプルコードが公開されています。
ぜひ実際に触って、業務効率化を図ってみてください。もし社内に活用できる方がすでにいらっしゃれば、「こういうことってできない?」と聞いてみるのもおすすめです。
もっといい方法があるはずだ、と考えるひとつのキッカケになったならうれしいです。