
このサイトではいくつかGASに関することを書いているんだけど、今回はGASでどんなことができるのか?っていうのをちょっとした例を交えて書いていきたいと思う。
これからGASを学んだり業務を効率化してみたい人は参考にできる部分は参考にしてみてください。ではやっていこう。
目次
GASとは?何ができるのか??
GASはスプレドシートやGoogleカレンダー、GmailなどGoogleのサービスを組み合わせてさまざまな作業を自動化することのできるものです。GoogleAppsScriptっていうプログラムを書いていくんだけど、そのプログラムを実行することによってそうしたことができる。
例えばこんなことができる。
- スプレッドシートに記載されたメールアドレスにメールを送る
- スプレイピングしたデータをスプレッドシートに書き込む
- Googleフォームの回答を自動返信する
- ・・・
これはあくまで一例だけど、アイディア次第でいろんなことができます。Webアプリケーションも作ろうと思えば作れますしね。Googleのサービスとの親和性が高いからGoogleのサービスを出したけど、プログラムだから言ってしまえば何でもできます。
Googleのサービスは業務で使うことも多いだろうから、GASを使うことでそれらの業務を自動化することだってできるかもしれません。そんなGASの特徴をちょっとだけみていこう。
環境構築が不要
まず大きいのが環境構築が不要な点。プログラミングを学んだことのある人なら経験したことがあるだろうけど、開発する前の環境構築って結構しんどいですよね。GASはブラウザでコードを書いてそれを実行するだけだから、面倒な環境構築は必要ありません。
script.google.comにアクセスすればすぐに使うことができる。
「新しいプロジェクト」からすぐ作成画面に行ってコードをガリガリ書いていくことが可能。この環境構築がないっていうのはかなり気楽で良いです。
さまざまなサービスと連携可能
GASはさまざまなサービスと連携可能なんだけど、さっき書いたものだけでもスプレッドシートやGmail、Googleフォームなどと連携しています。
- スプレッドシートに記載されたメールアドレスにメールを送る
- スプレイピングしたデータをスプレッドシートに書き込む
- Googleフォームの回答を自動返信する
GASはGoogleのサービスなら色々コードで操ることができて、リファレンスを見てみてもいろんなものが載っていますね。
また、GASからAPIを実行することもできるから他社が公開しているものを使えば結構いろんなことができてしまう。使えるAPIは探してみればたくさんある。
外部サイト【2021年最新】作りたいアプリ別API一覧を全紹介〜随時更新〜
Webアプリも作ろうと思えば作れる
GASというと何かコードを書いて作業を短縮したり自動化したりといったことが思い浮かぶけど、Webアプリケーションを作ることもできる。例えばこんな画面とか作ったり。
ちょっと作り方が面倒だなあ・・・って思ったりするけど、環境構築不要でコード書くだけで画面まで作れてしまうのは結構すごいですよね。デプロイして公開するのも速攻でできるし何より簡単です。
定期実行が可能
GASはトリガーを使えば定期的に書いた関数を実行するっていうことが可能です。
- 分ベース・・・1・5・10・15・30分おきのどれかで実行可能
- 時間ベース・・・1・2・4・6・8・12時間おきのどれかで実行可能
- 日付ベース・・・午前0~1時・午前1~2時・・・・午後10~11時・午後11時~午前0時のどれかで実行可能
- 週ベース・・・毎週月〜日曜日のどれかで実行可能(時刻は日付ベースで指定可能)
- 月ベース・・・毎月の指定した日付で実行可能(時刻は日付ベースで指定可能)
いくつか設定ができるけど、これだけ設定できればある程度したいことは満たせそうですよね。定期的にここから情報取得してスプレッドシートに書き込んで・・・とかっていうことができるということだ。
具体的にGASでできること
アイディア次第でGASでできることはたくさんあるからここでは、このサイトでやってきたことなんかを紹介しつつGASでどんなことができるのかを見ていきます。
スプレッドシート連携
GASではスプレッドシートをいじることのできる関数が色々用意されていて、一例を挙げるとこんなことができる。
- スプレッドシートの内容を読み取ることができる
- GASでスプレッドシートのセルや範囲を選択して書き込むことができる
- シートの作成・複製・削除ができる
スプレッドシートの内容を読み取って書き込むことができるから、結構なんでもできてしまいますよね。スプレッドシートなんて業務で色々情報を管理したりするだろうから、仕事に生かすこともできるでしょう。
このサイトでもスプレッドシートとGASを使っていくつかやってきましたね。スプレッドシートを使って作業を楽にしたい人は参考にしてみてください。
Googleカレンダー
GASではGoogleカレンダーをいじることもできます。Googleカレンダーに予定を追加したり削除したりといったことができる。このサイトでもGASでGoogleカレンダーをいじったことがあるけど、こんなのやりましたね。
- Googleフォームの回答をGoogleカレンダーの予定として追加する
- Googleカレンダーの予定をLINEに通知する
Googleカレンダーの予定をLINEやSlackに通知させたりできるのは便利ですよね。通知する時間もGASのトリガーを使えば1日の予定を毎朝通知させるっていうこともできる。
Googleカレンダーを普段使う人はうまく使えばカレンダーを見る時間が減るかもしれません。
メール・チャット通知
ちょっと書いたけど、Gmailでメールを送信したりLINEやSlackにメッセージを送ることができる。
- スプレッドシートで変更があったらLINEに通知する
- スプレッドシートに記載されたメールアドレスに送信する
- GoogleTaskをSlackに通知する
集めたメールアドレスにメールを送信するっていうことは仕事でよくあるだろうし、そういう場面で結構使えそうですよね。LINEやSlackの通知でいろんな情報を見たい時にも設定しておくと便利。
スクレイピング
サイトから欲しい情報を得るスクレイピングもGASを使って行うことができる。環境構築しないでこういうことができてしまうのは便利ですよね。以前このサイトの記事タイトルをGASでスクレイピングして取得するっていうことをやりました。
トリガーを使えば、毎日自動でスクレイピングするっていうこともできるから結構便利なはず。
ただスクレイピングは禁止されているサイトもあるからやる際には気をつけよう。情報を取得したいならAPIが提供されていないかどうか確認してみるといいです。
簡単なWebアプリ作成
GASは自動化や作業を効率化するために使うっていうイメージもあるかもしれないけど、作ろうと思えば簡単なWebアプリケーションなら作ることができる。
画面はHTMLで作ることができるから結構簡単。データの保持はどうするの?っていうところだけど、スプレッドシートをデータベースとして使ってしまえばいい。無料で全部使うことができるし、何より簡単なのが良いです。
デプロイする時もボタンをクリックするだけでできるし、アクセスできるユーザーも絞ることができる。
プログラミングを学んでアプリケーションを作ってデプロイした経験のある人なら分かるだろうけど、これ簡単すぎますよね。環境構築も必要なくデプロイもボタン押すだけです。
データベースまでは作っていないけど、画面を作ってフォームに入力した値を確認するっていうことは以下の記事でやったからよかったら参考にしてみてください。
処理を定期実行する
最初の方でも書いたけど、GASのトリガーを使うことで特定の処理を定期実行することができる。例えばこんなことができますね。
- スプレッドシート記載のメールアドレスに定期的にメール送信する
- 定期的にWebサイトをスプレイピングする
- 毎日Googleカレンダーの予定をLINE通知する
結構便利じゃないですか。毎日目視で確認しないといけないことも自動で毎日やってくれるならかなり楽になるはずです。定期実行のタイミングはある程度設定することができるよ。
- 分ベース・・・1・5・10・15・30分おきのどれかで実行可能
- 時間ベース・・・1・2・4・6・8・12時間おきのどれかで実行可能
- 日付ベース・・・午前0~1時・午前1~2時・・・・午後10~11時・午後11時~午前0時のどれかで実行可能
- 週ベース・・・毎週月〜日曜日のどれかで実行可能(時刻は日付ベースで指定可能)
- 月ベース・・・毎月の指定した日付で実行可能(時刻は日付ベースで指定可能)
Googleドキュメント連携
Googleドキュメントを新規作成や編集をすることができる。
- ドキュメントの新規作成
- ドキュメントの編集
- 文字列の置換
- ファイル名の操作
文字列の置換なんていうこともできるから、長い文章なんかだと結構便利に使えそう。ファイル名の変更も一括で変えたいときなんかに良いですよね。
Googleドキュメントで議事録なんかをとっているなら日付やファイル名・ちょっとした文言の挿入など自動でやって欲しいこともありますよね。
Googleドライブ連携
GoogleドライブもGASから簡単にいじることができるから、Googleドライブで色々管理している人はファイル管理を自動で行うことができるかもしれない。
- フォルダの作成
- ファイルの作成
- フォルダの移動
- ファイルの移動
こういったことをコードで行うことができるから、たくさんのファイルを移動させたいときなんかには結構楽にできるはず。整理したい時にファイルごとに移動先を分ける!みたいなこともコードを書けばできてしまいますね。
GASでは拡張機能も使える
GASでは拡張機能をいくつか使えて、使うことによって便利な機能を追加することができる。ライブラリを追加するような感じです。例えばこんなものがあったりする。
- SSheetDB
- Underscore.js
- day.js
- BetterLog
- ImgAppライブラリ
- Parser
これらの使い方はこっちの記事で紹介しているからよかったら参考にしてみてください。
GASが分からないけど効率化・自動化したい
GASを使って作業を自動化したい・効率化したいって思うけど、プログラムのことはよく分からない・・・っていう場合もあると思います。そういった時にはココナラなどで誰かに教えてもらったり、プログラムを作ってもらったりするといいです。自動化のカテゴリ見てみると結構やってくれる人います。
GASを学べるスクールもある
少ないけどGASを学ぶことのできるプログラミングスクールもあるから、本格的に学びたい場合は検討してみるのもいいかもしれない。