GoogleAppsScript
gas

Google Apps Script使ってみた

Google Apps Script

Googleのサービスやアプリ(スプレッドシート、ドキュメント、カレンダー、メールなど)を操作したり外部サービス(チャットなど)と連携したりすることができるやつ。
開発環境も実行環境もいわゆる「サーバーレス」というやつで、Googleアカウントがあればブラウザ上で無料で遊べます。
Google Apps Script (公式)

どこからできるの?

こちらが画像つきで詳しいです。
Google Apps Scriptでログ出力

大きく2種類あって

  • Googleドライブメニュー「新規」から追加する(Standalone)
  • スプレッドシートのメニュー「ツール -> スクリプトエディタ」(Container Bound)

となっています。
Google Apps Script 入門

※UIはちょこちょこ変わっているようで、ググって見つけた解説サイトで「そんなメニューないぞ…」みたいな状態もあったりするので適宜読み換えていくとよいでしょう。

どんなことができるの?

色々あります。こちらを見てイメージを膨らませてみましょう。
【保存版】初心者向け実務で使えるGoogle Apps Script完全マニュアル

定期的な実行機能(トリガー)もあるので、組み合わせると本当に色々できそう。

使いたいサービスのリファレンスはまずは公式でしょうか。
Google Apps Script REFERENCE

例えば…

上記その他を参考に、何らかのリマインドメールを送るスクリプトをつくります。

スプレッドシートに件名、本文、宛先を用意

gas_sheetsetup.PNG
こんな感じで、宛先は改行で複数可とします。

スプレッドシートから情報取得し、メールを送るスクリプトを書く

script
function sendMail() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var subject = sheet.getRange(2, 1).getValue();
  var body = sheet.getRange(2, 2).getValue();
  var to = sheet.getRange(2, 3).getValue().replace('\n',',');

  GmailApp.sendEmail(to, subject, body);
}

ごくシンプルにこんな感じ。宛先は改行をカンマ区切りに置換します。
実行ボタンから動作することを確認します。

トリガーに登録

gas_trigger.png
スクリプト画面の時計みたいなアイコンから追加できます。
毎月/毎週/毎日/毎時/毎分など設定できます。
(スプレッドシートで何かしたとき、といったトリガーも設定できるようです)

おしまい

他にも、チャットシステムとの連携(条件に該当するメールを自分のChatWorkに飛ばす)もやってみたので、別途まとめました