実際に、本記事をご覧いただいているみなさまは「GoogleスプレッドシートやGmailなどで行っているルーチンワークを自動化したい」と考えているのではないでしょうか? 一方で、プログラミングが初めてなので何から手を付ければよいかわからない、Google公式の開発者向けサイトも英語表示でわからない、という方も多いと思います。 本記事では、Googleサービスの作業を自動化したい方向けに、初心者がまず理解しておくべきGASの使い方・サンプルスクリプト・学習法を紹介します。 【少額・スポット可】ネット広告運用の2次代行サービス『AG-Boost』

GASとは

GASはGoogle Apps Scriptの略称で、Google が提供しているプログラミング言語で、JavaScriptがベースとなっています。

GASとはGASの特徴・メリットGoogleサービスとの連携・自動化が容易無料で使える開発環境が不要GASでできること・できないことGASでできることGASでできないことGASを書くための下準備Apps Scriptを開くスクリプトエディタの説明GASのコードについてコードの構造承認を求められたときサンプルコード:Googleスプレッドシートのセル内容をGmailで送信するこれから勉強を始める方におすすめの方法4選UdemyYoutubeいつも隣にITのお仕事:超初心者向けGASでBotを作りながら基礎を学ぶQiita ~ 基礎が身についた方向け ~まとめ

JavaScriptはウェブ開発を中心に幅広く利用されているため、様々なサービスと連携することが可能です。 GASのスクリプト作成画面

GASの特徴・メリット

GASの特徴は以下の通りです。

Googleサービスとの連携・自動化が容易無料で使える開発環境が不要

Googleサービスとの連携・自動化が容易

Googleの各種サービスとの連携が容易なことが一番の特徴です。 広くビジネスで使われている下記のサービスを操作することで、さまざまな業務を自動化することができます。 <連携可能サービス例>

GmailGoogleカレンダーGoogleドキュメントGoogleスプレッドシートGoogleドライブGoogleマップ

無料で使える

GASは、Googleアカウントがあればだれでも無料で使えます。 有料のGoogle Workspace(旧G Suite)アカウントだと、スクリプトの実行時間が増えるなどのメリットはありますが、簡易的な利用であれば無料アカウントでも問題ないでしょう。

開発環境が不要

他のプログラミング言語との比較では、開発環境が不要なことも大きな特徴です。 Pythonなどは、初心者の場合開発環境の構築に数時間かかることもあります。 初心者でも簡単にすぐに始めることができるので、Googleサービスを利用しているのであればGASからプログラミングを始めてみるのも良いでしょう。

GASでできること・できないこと

GASでできること

GASでできることは、大きく以下の4点が挙げられます。

Googleサービスとの連携Google以外のwebサービスとの連携Webサイトからの情報収集Webアプリケーションの開発

業務での実際の活用例については、こちらの記事を参考にしてください。 参考:【サンプルコードあり】Google Apps Script(GAS)の業務活用例5選

Googleサービスとの連携

Gmailやスプレッドシートなどの、ほとんどのGoogleサービスと連携が可能です。 例えばスプレッドシートであれば、ExcelのVBAのように、マクロを作成して色々な動作を自動で繰り返し実行させることができます。 またGmailであれば、決まった時間に毎日メールを送る、特定の件名のメールを自動で転送する、などの使い方が考えられます。 他にも、各Googleサービスを組み合わせた活用方法もあります。 例えばGoogleフォームに入力されたらGmailで自動返信する、スプレッドシートの内容が更新されたらGmailで通知する、など様々な活用の仕方が考えられます。

Google以外のwebサービスとの連携

Google以外のサービスとも連携可能で、メジャーなツールであれば検索すれば連携方法を解説した記事が多く出てくるでしょう。 例えばChatworkと連携し「Googleカレンダーの情報をChatworkに通知する」のような使い方ができます。 上級者向けですが、APIを公開しているサービスと連携させることもできるため、例えば「freeeにある売上データをGoogleスプレッドシート上に転記する」のような使い方もできます。

Webサイトからの情報収集

Webサイトから任意の情報を抽出、整形、解析する技術のことをスクレイピングといいますが、このスクレイピングも可能です。 小規模のデータを収集する場合や、定期的に実行する必要がある場合はGASを使ってスクレイピングすると良いでしょう。 またGASに標準であるIMPORTXML関数を使用すると、複雑なコードが必要なく簡単にスクレイピング可能です。

Webアプリケーションの開発

簡易的なWebアプリケーションであれば、GASで開発し公開まで可能です。 特にGASの特徴である、Googleサービスと絡めたアプリケーションを開発したい場合に適しています。 機能面では他のプログラミング言語には劣るので、社内で活用したいツールがある場合にGASで開発すると良いでしょう。

GASでできないこと

Webサービス間の連携に強い一方で、ローカルファイルに対しての処理はほとんどできません。 特にMicrosoft製品に対して処理を加えることができないため、「Excel加工を自動化したい」などのケースでは、別方法を考えた方が良いです。

GASを書くための下準備

Apps Scriptを開く

Googleドライブを開き、「新規」→「その他」→「Google Apps Script」の順にクリックします。

「Google Apps Script」が出てこない場合は、「アプリの追加」をクリックします。 「Google Apps Script」と検索し、手順に沿ってインストールします。

インストールが出来たらGoogleドライブを開き、「新規」→「その他」→「Google Apps Script」の順にクリックします。 このようなスクリプトエディタ画面が開けたら準備完了です。

スクリプトエディタの説明

ここで、スクリプトエディタでよく触る箇所の説明をします。 ※名称は公式なものがないため、筆者が付けたものです。

GASのコードについて

コードの構造

実際のサンプルスクリプトを用いながら、コードの構造説明をします。 プログラミングの一歩目によく用いられる「Hello world」とログを出すスクリプトを用います。 まずはスクリプトエディタにこちらの、コードをコピペしてください。 function ハローワールド() { var value = “Hello World”; Logger.log(value); }

続いて、「プロジェクトを保存」ボタンを押し、実行ボタンを押してください。 すると以下のように実行ログが出てきて、その中に「Hello world」というログを残すことができます。 これで、一つのスクリプトをかけたことになります!

さて、スクリプトの説明です。 コードは必ず以下の構造となります。

関数名は任意のものでよく、今回は「ハローワールド」と名付けました。 コードの中身については、やりたいことによって変わってきますが、ひとつのプログラムがこちらの構造で成り立っている、ということを理解ください。

承認を求められたとき

スクリプトを実行するとき、初回に承認を求められることがあります。 ダイアログが出た場合には、以下の手順にて承認を進めてください。

  1. 権限を確認をクリック
  2. 自分のアカウントを選択
  3. アクセスを許可する

サンプルコード:Googleスプレッドシートのセル内容をGmailで送信する

サンプルとして、メール送信を自動化する一例を紹介します。 あらかじめ準備したスプレッドシートの内容からGmailを自動送付するというスクリプトで、まずはこちらの図の配置でスプレッドシートを準備してみてください。

D列の送付アドレスには、テストメールを送ってもよいご自身のアドレスを入れることをお勧めします。 次にスクリプトエディタで、以下のコードを入力してください。 function mailsend() { var ss = SpreadsheetApp.openById(‘△△△’); // SHEET_IDにご自身のスプレッドシートIDを入力(https://docs.google.com/spreadsheets/d/△△△/) var sh = ss.getSheetByName(‘シート1’); var last_row = sh.getDataRange().getLastRow(); var arr = sh.getRange(1,1,last_row,4).getValues(); //ループ処理 for(var i=2;i<=last_row;i++){ var sendstatus = arr[i-1][0];  if(sendstatus !== “送信済”){ var title = arr[i-1][1]; var text = arr[i-1][2]; var mail = arr[i-1][3]; MailApp.sendEmail(mail,title,text); sh.getRange(i,1).setValue(“送信済”) } } }

ここでひとつ注意事項です。 3行目の’△△△’と記載している箇所には、先ほどのスプレッドシートのIDを入力してください。 このスクリプトを保存し、実行してください。 実行時に承認が求められる場合は、承認し進めてください。 すると、スクリプトエディタ上では実行開始・完了の通知があります。

次にスプレッドシートを確認すると、A列「送付ステータス」が「送信済」に変化しております。

自分のメールを確認すると、テストメールが届くようになっています! ※タイトル、メール本文はスプレッドシートの内容通り

スプレッドシート側の関数を使う、GASのタイマー設定を行うことでより意図通りのメール自動化ができるのではないでしょうか。

これから勉強を始める方におすすめの方法4選

GASについてちゃんと勉強したい!もっと深く知りたい!という方向けに、おすすめサイトを紹介します。

Udemy

<特徴> コンテンツ買い切り型 有料のためコンテンツが良質 プログラミングの基礎から実践までを学べる プログラミングのオンライン学習にて定番のudemyでは、有料コンテンツにふさわしい質、量ともに十分な内容が準備されています。 また、コンテンツ買い切りなので、GASに絞ったコンテンツのみ購入できるためお得感もあります。 しっかり勉強されたい方向けの印象で、「変数・定数」「データ型」「配列」などプログラミンをするにあたって避けて通れない概念についても丁寧に解説されており、教科書通りの学習を進めることができます。

Youtube

<特徴> 無料でお手軽に情報を得ることができる コンテンツの質については玉石混交 最近はYoutubeでも、GASを題材とした初心者向け講座を配信している方がいらっしゃいます。 Udemyのような有料講座と比べると、丁寧さには欠けるものの、手っ取り早く勉強される場合にはおすすめです。 まずはYoutubeで動画を視聴してみて、もっと深く知りたいとなった場合に有料コンテンツに手を出すのも良いでしょう。

いつも隣にITのお仕事:超初心者向けGASでBotを作りながら基礎を学ぶ

<特徴> 全24章の充実したコンテンツ 知りたい情報にすぐアクセスができる 動画と違い自分のペースで学習できる 「いつも隣にITのお仕事」は「日本の働くの価値を上げる」を目指して活動をする 株式会社プランノーツ が運営しているメディアです。 その中にGAS初心者向けの連載形式でのコンテンツがあり、全24章と充実しています。 トピックごとに章立てされており、知りたい情報に即座にアクセスができ、自学に自信のある方はサクサク学習を進めることができるためお勧めです。

Qiita ~ 基礎が身についた方向け ~

Qiitaは、エンジニアリングに関する知識を記録・共有するためのサービスです。 個人ユーザーがそれぞれの活動で得た情報をまとめて投稿してくれています。 だいたいの自動化したことは既に誰かがまとめてくれているケースが多く、ぜひ頼るべきです。 例えば、salesforce のデータをスプレッドシートにペーストしたい場合、「セールスフォース スプレッドシート GAS」のようにキーワード検索すると関連記事がでてきます。 Qiitaに拘らずGoogleで検索するだけでも関連記事が出てくるので、GASの基礎ができていて、さらに具体的にやりたいことが出てきた場合には是非先人の知恵をお借りください。

まとめ

GASは、無料で初心者でも取り掛かりやすいプログラミング言語です。 Googleサービスとの連携機能が大きな特徴になっています。 筆者も本記事でご紹介した方法で、プログラミングもわからない状態からGoogleサービスの自動化をどんどん進められるようになりました。 GASが自在に書けるようになると、業務自動化の幅がグンと広がりますので、是非活用ください。 【少額・スポット可】ネット広告運用の2次代行サービス『AG-Boost』

Google Apps Script GAS                                 - 76Google Apps Script GAS                                 - 69Google Apps Script GAS                                 - 43Google Apps Script GAS                                 - 41Google Apps Script GAS                                 - 18Google Apps Script GAS                                 - 92Google Apps Script GAS                                 - 53Google Apps Script GAS                                 - 37Google Apps Script GAS                                 - 12Google Apps Script GAS                                 - 76Google Apps Script GAS                                 - 61Google Apps Script GAS                                 - 86Google Apps Script GAS                                 - 20Google Apps Script GAS                                 - 90Google Apps Script GAS                                 - 5Google Apps Script GAS                                 - 99Google Apps Script GAS                                 - 11Google Apps Script GAS                                 - 79Google Apps Script GAS                                 - 58Google Apps Script GAS                                 - 69Google Apps Script GAS                                 - 71