Google Apps Script で操作を自動化をする

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

■はじめに

Google Apps Script はサーバーサイド JavaScript で実現されているスクリプト言語です。

Google Apps Script を利用することで以下のようなことができるようになります。

  • 業務の自動化
  • サードパーティーのサービスとのリンク
  • スプレッドシートのカスタム関数
  • UI(Panel Wedgit)の利用

今回は簡単な操作の自動化を Google Apps Script で実現したいと思います。

■参照情報

Google Apps Scriptドキュメント

Google Apps Script – Google Code

チュートリアルも用意されています。

Google Apps Script – Google Apps Script – Google Code

今回はスプレッドシートの簡単な操作のみを行うので主にこちらを参照します。

Spreadsheet Services – Google Apps Script – Google Code

■スクリプトエディタを立ち上げる

[ツール] – [スクリプト] – [スクリプト エディタ] で、スクリプトエディタが立ち上がります。

スクリプトエディタは使いやすいとは言いがたいものですが、色分けはされています。

■スクリプトを書く

JavascriptとVBAの経験がある方であれば、スプレッドシートの基本操作は理解に時間がかからないと思います。
最初に、できあがったスクリプトをみてみましょう。

説明がなくてもソースを読むだけで想像ができると思います。
複数列のソートを自動化してみました。
sortという名前をつけた関数です。
7列目→3列目→2列目→1列目の順番でソートします。true,falseは降順、昇順を意味しています。

■スクリプトを実行する

実行する関数名を選択して三角ボタンで実行、または実行メニューから関数名を選択して実行します。

■もう少しスクリプトを書いてみる

特定の条件に一致する行を非表示にするスクリプトも書いてみました。
8列目が「100」になっている行を非表示にします。

非表示にされている行を再表示するスクリプトもセットであると便利なので書いてみました。

■メニューを追加する

なんども使用するスクリプトは素早く実行できるようにしたいものです。
メニューにスクリプトを表示されるようにしましょう。

スクリプトはこちらです。

Scriptというメニューを追加して「sort」「hide」というスクリプトが実行できるサブメニューが表示されるようにします。
onOpen()はロードされたときに実行できるようになる関数名です。

■スプレッドシート操作のドキュメントを再確認

Spreadsheet Services – Google Apps Script – Google Codeにはスプレッドシートで操作できることがまとめられています。
大きく4つのClassesにわかれています。

  • Class Range:範囲
  • Class Sheet:シート
  • Class Spreadsheet:スプレッドシート操作
  • Class SpreadsheetApp:スプレッドシート作成

一度簡単なスクリプトを見れば、どこを探せばよいかアタリがつきそうですね。

■おわりに

スプレッドシートはExcelを使いこなしていた人にとってはまだまだかゆいところに手の届かないところが正直あります。
そこはGoogle Apps Scriptでカバーできるところがたくさんありそうです。
また、スプレッドシートでしかできない飛び道具がある点を見逃すわけにはいけません。
今まで何気なく行なっていた「あたりまえ」を効率化できるチャンスがありそうでわくわくしますね。

AWS運用自動化サービス「Cloud Automator」