【保存版】初心者向け実務で使えるGoogle Apps Script完全マニュアル

★気に入ったらシェアをお願いします!


stairs

photo credit: via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Gmail、Googleカレンダー、スプレッドシート、ドキュメント、フォーム、翻訳、などなど…Googleは仕事に役立つ数多くのサービスを提供してくれています。

もちろんGoogle検索もありますね。

Google Apps ScriptはGoogleが提供しているJavaScriptベースの開発環境

冒頭に紹介したサービスをはじめ数多くのGoogleサービスをプログラミングにて操作をすることができる魔法のようなシロモノです。

当ブログではあれやこれやのGoogle Apps Scriptのテクニックについてお伝えしていますが、全くの初心者ではどこからどのように習得していいのか迷ってしまうかも知れません。

このページでは【初心者がGoogle Apps Scriptを使って何かしらかの便利ツールやシステムを作れるようになる】ための助けとなるまとめ記事です。

ぜひ当ページをブックマークしつつ、少しずつしかし確実にGoogle Apps Scriptを習得していくための道しるべとしてご活用頂ければと思います。

以下、キーワード別リファレンスページもご覧下さいね。

【保存版】Google Apps Scriptリファレンス~キーワード別インデックス
Google Apps Scriptのリファレンスページです。JavaScriptの基本文法および標準オブジェクト、また各Google Appsサービスのオブジェクト・メソッドなどについてキーワード別にリストアップしています。

目次

Google Apps Scriptを始める前の準備

まず、準備としてGoogle Apps Scriptとは何か、そしてそれを学ぶメリットについてお伝えしています。


連載目次:Google Apps Scriptで自作スプレッドシート関数

本シリーズではGoogle Apps Script初心者向け、自作のスプレッドシート関数を作っていきます。一からとっても丁寧な解説を心がけておりますので、どうぞチャレンジしてみて下さい。
  1. 初心者でも簡単!Google Apps Scriptでスプレッドシートの自作関数を作る方法
  2. Google Apps Scriptで西暦を和暦変換するスプレッドシート関数を作る
  3. Google Apps ScriptでREST APIを使って郵便番号住所変換スプレッドシート関数を作る


連載目次:GASでスプレッドシートを指定フォルダに作成する方法

Google Apps Scriptで新規のスプレッドシートを作成したい局面はたくさんありますが、常にルートフォルダにファイルができてしまい、ルートフォルダがぐちゃぐちゃに…てなことも。 このシリーズでは、Googleドライブのファイルやフォルダの操作を学びながら、指定のフォルダにスプレッドシートを作る方法をお伝えします。
  1. 初心者でも簡単!GASでスプレッドシートを作成する方法&取得する方法
  2. 基本中の基本!GASでGoogleドライブのファイル・フォルダをIDで取得する
  3. Google Apps ScriptでGoogleドライブ内のファイルを追加・削除・移動をする方法


連載目次:Google Apps Scriptでメルマガシステムを作っちゃおう!

Google Apps ScriptでGmail、スプレッドシート、ドキュメントを連携させて操作することでメルマガシステムが簡単に実現できます。思ったより2割くらい簡単にできますよ。ちなみに無料です…さすがGoogle。
  1. 初心者でも簡単!Google Apps ScriptでGmailを操作してメールを送る方法
  2. 初心者でも簡単!Google Apps Scriptでドキュメントを取得して表示する方法
  3. Google Apps Scriptでスプレッドシートのリストをもとに宛名を差し込んだメール本文を作る
  4. たったの38行!Google Apps Scriptで超簡易メルマガ配信システム
  5. 名刺管理アプリCAMCARDの連絡先リストをスプレッドシートに取り込む
  6. 【GAS】名刺管理アプリの出力データを活用してメルマガ配信リストを自動更新する
  7. Google Apps Scriptのスプレッドシート読み書きを格段に高速化をする方法
  8. Google Apps Scriptのメルマガ配信リスト自動更新スクリプトを高速化する
  9. Google Apps Scriptでスプレッドシートに独自のメニューを追加する方法


連載目次:GASでGoogleドライブを操作してメール添付を自動保存

メールの添付ファイルをGoogleドライブに自動保存するツールを題材として、Google Apps ScriptでGoogleドライブを操作する方法についてお伝えするシリーズです。
  1. Google Apps ScriptでGoogleドライブを操作する最も簡単なスクリプト
  2. Google Apps ScriptでGoolgeドライブのフォルダ内にファイルを作成する方法
  3. Google Apps ScriptでGmailの添付ファイルをGoogleドライブに保存する
  4. 【GAS】Gmailのメッセージにスターがついているか判定する方法とスターを付与する方法
  5. 【GAS】特定メールの添付ファイルのGoogleドライブ保存をチャットワークに通知する


連載目次:初めてのGoogle Apps Scriptで自動でチャットワークに色々と送る

最初のお題にも限らずチャットワークを中心に操作していきます。スプレッドシートやカレンダーをはじめとするGoogleサービスはもちろん、Twitterなどの外部のサービスともAPIで連携させて色々なものをチャットワークに通知してみますよ。
  1. Google Apps Scriptの第一歩、初心者でもチャットワークにメッセージを送れる
  2. Google Apps Scriptでチャットワークの名言botを作る方法
  3. Google Apps ScriptでTwitterの検索結果を自動でチャットワークに通知
  4. 【幹事必見!】スプレッドシートの入力が完了したらチャットワークに自動で通知する方法
  5. スプレッドシートのリストアップ件数をGASでチャットワークに通知する
  6. GASでチャットワークにGoogleアナリティクスの前日レポートを自動送信
  7. GASでGoogleアナリティクスの記事ランキングをチャットワークに送る
  8. Google Apps ScriptでWordPressの更新情報をチャットワークに送る
  9. 毎朝、当日の予定をGoogleカレンダーから取得してチャットワークに送る
  10. 【Google Apps Script】天気予報をWeb APIで取得する方法
  11. 【GAS】JSON形式のデータを取り出してチャットワークに天気予報を送る


連載目次:Googleカレンダーの記録を活用して過去の仕事を振り返る

企業ではスプレッドシートを勤怠管理やプロジェクト進捗管理などに使っている場合も多いと思います。このシリーズでは、カレンダーとスプレッドシートを連携をさせて仕事の生産性を簡単に測定する方法についてお伝えしています。
  1. 仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
  2. Google Apps Scriptで特定月のカレンダーのイベント情報を取得する
  3. Google Apps ScriptでGoogleカレンダーの記録をスプレッドシートに出力する
  4. Googleカレンダーの記録を活用してスプレッドシートに業務別のコスト計算
  5. Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法


連載目次:GASでデータ分析!グラフを作成してデータの可視化

スプレッドシートを使う業務の中で多いのがデータの集計・分析作業です。データからインサイトを引き出すコツは「可視化」してデータを見えるようにすること。このシリーズではGoogleスプレッドシートでの集計・分析作業の効率を上げるための、Google Apps Scriptのテクニックを紹介します。
  1. Google Apps Scriptでグラフを作成する方法の最初の一歩
  2. 【グラフで説得力をあげる】Google Apps Scriptでグラフの種類を変更する方法
  3. 【複数の要素もひと目で分かる】Google Apps Scriptで積み上げ棒グラフを作成する方法
  4. 【意図を明確に】Google Apps ScriptのsetOptionメソッドでグラフタイトル・凡例を編集する方法
  5. Google Apps ScriptのsetColorsメソッドでグラフの色を設定する方法
  6. 【GAS】レポート共有も効率よく!作成したグラフをGmailで送る方法
  7. 【GAS】スプレッドシートをPDFにしてGmailで送付する方法


連載目次:GASで5分の壁と戦うための配列を扱うテクニック

Google Apps Scriptでは配列操作が非常に重要です。というのも、SpreadsheetサービスのAPIを使えば使うほど、「Google Apps Scriptの5分の壁」にぶつかるからです。このシリーズでは、GASでスプレッドシートのデータを配列に格納して処理をする様々なテクニックをお伝えします。
  1. Google Apps Scriptで配列を使ってスプレッドシートにデータ行を追加する方法
  2. Google Apps Scriptでスプレッドシートにデータ行を挿入する2つの方法
  3. Google Apps Scriptでスプレッドシートの行を削除する2つの方法
  4. Google Apps Scriptで配列の検索をするindexOfメソッドとlastIndexOfメソッド
  5. Google Apps Scriptで100以上の便利関数が使える定番ライブラリUnderscore for GAS
  6. Google Apps Scriptで二次元配列の行と列を入れ替える方法とその革命的な効果


連載目次:チャットワークAPI初級編:おみくじチャットを作る

本シリーズはGoogle Apps ScriptでチャットワークAPIの様々な機能を呼び出す練習となります。メッセージの取得をして、処理をして、メッセージを返すという一連の流れの基礎を学ぶことができますよ。
  1. Google Apps ScriptでチャットワークAPIを活用するための最初の一歩
  2. Google Apps Scriptでチャットワークからのメッセージを取得する方法
  3. Google Apps Scriptで乱数を使っておみくじプログラムを作る
  4. Google Apps Scriptでチャットワーク上におみくじチャットを作る
  5. Google Apps ScriptでチャットワークにToや返信でメッセージを送る
  6. 【GAS】チャットワークのメッセージを取り出す関数とメッセージを送る関数


連載目次:Google Apps ScriptでTrelloを操作する

本シリーズではGoogle Apps Scriptで、Trelloを操作する方法をご紹介します。Trelloを操作することで、タスク管理も自動化することができます。
  1. Google Apps ScriptでTrelloを操作するはじめの一歩
  2. Google Apps ScriptでTrelloのリスト一覧とカード一覧を取得する
  3. Google Apps ScriptでTrelloのカード一覧をスプレッドシートに保存する方法
  4. 【Trello】Google Apps Scriptで明日締切のカード数をチャットワークで通知する方法


連載目次:Google Apps ScriptでWebアプリケーションを作る

Google Apps Scriptではスクリプトを埋め込んだWebアプリケーションを作ることもできます。スプレッドシートや外部のAPIを連携するようなWebアプリケーションを、サーバー準備不要、無料で構築し、公開することができます。本シリーズでは初心者向けに、GASでWebアプリケーションを作る方法を順を追ってお伝えします。
  1. Google Apps ScriptでWebアプリケーションを作る最初の一歩
  2. Google Apps Scriptで作るWebページにスクリプトの結果を出力して表示してみる
  3. Google Apps ScriptでWebアプリケーションにスプレッドシートの値を出力する
  4. Google Apps ScriptのWebアプリケーションにCSSでスタイル設定をする


連載目次:初心者でも作れるGASによる簡単ワークフロー

スプレッドシート、Gmail、フォーム…Google Apps Scriptで操作できるアプリケーションはまさに「ワークフロー」を作成する上で必要なものが揃っています。ということで、このシリーズでは初心者でも簡単に作れるワークフローの作り方について解説をしていきます。
  1. Google Apps ScriptでGmailからHTMLメールを送信する方法
  2. 【GAS】doGet関数でURLのパラメータを受け取りその内容に応じた処理をする


連載目次:Google Apps ScriptでMoment.jsを使う

Google Apps Scriptでよく取り扱う日付と時刻。しかし、JavaScriptの標準Dateオブジェクトは扱いがなかなか難しいんですよね。その日時の操作をとっても簡単にすることができるライブラリ「Moment.js」の使い方について、解説をしていきます。
  1. 日付&時刻の便利ライブラリ「Moment.js」をGoogle Apps Scriptで使う方法
  2. Google Apps ScriptでもMoment.jsで日付&時刻の書式フォーマットを簡単に指定
  3. Google Apps ScriptのMoment.jsで日時の各要素をGetとSetする方法
  4. GAS版Moment.jsライブラリで超簡単に日時の比較をする方法
  5. GASでMoment.jsライブラリを使って簡単に日時の計算をする方法
  6. GAS版Moment.jsの破壊的な日時計算メソッドの注意点とcloneメソッドによる回避
  7. GASでMoment.jsライブラリを使って超スマートに日時の差をとる方法
  8. Google Apps Scriptを使って80歳までの残り時間をチャットワークに日々通知する


連載目次:GASでGmailに届いた問い合わせメールを分析する

お仕事の現場では日々様々なメールが届きます。その中で重要なのが「問い合わせメール」ですね。このシリーズでは、Webサイトからの問い合わせメールを自動でスプレッドシートに取り込んだり、チャットワークに送る方法についてお伝えしていきます。
  1. 【GAS】Gmailに送られた過去のメールから特定条件のメールを検索して取得する
  2. 【GAS】Gmailからメールを検索してスプレッドシートに書き出す
  3. フリーランスの仕事はどこから来たか、独立して1年間の受注件数を全て晒す
  4. 【GAS】新たな問い合わせメールをGmailで取得しスプレッドシートに随時追加する
  5. 【GAS】Gmailに来た問い合わせをチャットワークに通知してかつタスク追加する
  6. Google Apps ScriptにおけるGmailの読み取り件数の制限とその対処法


連載目次:スプレッドシート、フォーム、カレンダーで作るタスク管理ツール

本シリーズはチームで使えるタスク管理ツールをG Suiteのスプレッドシート、フォーム、カレンダーを組み合わせて作ってしまおう!というものです。手軽にビジュアルでわかりやすいツールを作れますよ。
  1. 入力インターフェースとして超優秀!Googleフォームで新規タスクを入力する
  2. Googleフォームの送信があったときにイベントの予定をGoogleカレンダーに入れる
  3. Google Apps Scriptで値の変更をトリガーにしつつ変更されたセルの行番号と列番号を知る
  4. Google Apps Scriptでカレンダーのイベントタイトルを変更する方法


連載目次:GASとチャットワークAPIで翻訳チャットを作る

おみくじチャットの仕組みを利用して翻訳チャットを作ります。Google Apps ScirptでGoogle翻訳を操作する方法、チャットからの入力がルール外だった場合のエラー処理など少し発展的な内容を学ぶことができますよ。
  1. Google Apps Scriptでチャットワーク上に翻訳チャットを作る
  2. Google Apps Scriptでエラーが発生したときに処理を分ける方法
  3. 【GAS】チャットワークで作る翻訳チャットに例外コマンドでエラーが出たときの処理を追加


連載目次:GASでチャットワークに自動でタスク追加をする

タスク管理は重要なのですが、タスクを立てること自体を忘れてしまったりませんか?このシリーズではスプレッドシートとチャットワークを使って定期的なタスクを自動で追加する方法についてお伝えしています。
  1. Google Apps Scriptでチャットワークにタスクを追加する最も簡単なプログラム
  2. Google Apps Scriptでチャットワークに期限付きのタスクを追加する
  3. 【GAS】スプレッドシートに記載したタスクを毎日チャットワークに自動で追加する
  4. GoogleスプレッドシートとExcelで使える日付関連の関数まとめ
  5. 【GAS】定期的に発生するタスクをチャットワークに自動でタスク追加(完全版)


連載目次:チャットワークのメッセージ送信で出勤・退勤の打刻をする

本シリーズはチャットワークの特定のグループチャットで出勤や退勤の打刻が可能になる勤怠システムをGoogle Apps Scriptとスプレッドシートを用いて作っていきます。これからはチャットというインターフェースがトレンドになってきますので、良い練習になると思いますよ!
  1. Google Apps Scriptでチャットワークでのチャット打刻システムを作る
  2. Google Apps ScriptでのDateオブジェクトの各生成方法、日付と時刻を分ける
  3. Google Apps Scriptでチャットワークからの打刻情報をシートの最終行に追加する方法
  4. Google Apps Scriptでスプレッドシート内を検索して行番号を返す関数(高速版)
  5. Google Apps Scriptでチャットワークからの出勤・退勤の打刻データを様々な条件分岐を駆使して処理する

その他のGoogle Apps Scriptに関する様々なテクニック

  1. Google Apps Scriptのスプレッドシート読み書きを格段に高速化をする方法
  2. ずっと使える!Google Apps Scriptで営業日を判定する関数の作り方
  3. Google Apps Scriptで毎朝チャットワークに電車の遅延情報をプッシュ通知する
  4. チームのみんなが使っている電車の遅延情報を毎朝チャットワークに通知する
  5. 【GAS】チャットワークから送ったメッセージをEvernoteの新規ノートとして投稿する方法