目次
- Google Apps Script(GAS)でできることとは?
- GASってどこで書けるの? デモ事例とともに紹介
- GASで文字を表示させてみよう
2022.01.12
みなさんは、Google App Script(GAS)を知っていますか? 業務効率化・自動化にまつわるITツールの一種で、Googleのアカウントを持っている人なら、誰でも無料で使うことができます。
けれど、GASで何ができるのかきちんと把握できていない人も少なくないはず。でも、仕事において業務効率化や自動化は必要不可欠です。
このGASで「宛名をつけたメールを一斉送信する」プログラムを2日で実際に構築するSchooの授業が『【業務自動化 × プログラミング】宛名をつけたメールを一斉送信しよう』。講師はIT人材育成や業務効率化の自社サービス「call.jp」の運営を行っている株式会社call.jp代表兼エンジニアの木村喜生(きむら・よしお)先生です。
この記事では、GASでできることやJavaScriptの第一歩など、「GASの基本」について取り扱った授業一日目の内容をご紹介します。
では、実際に先生が作ったGASのデモ事例を見てみましょう。
以下の「会社名」「名前」「メールアドレス」が入力されたスプレッドシート「【完成版】一斉送信」に、GASの「sendAll」というメソッドを当てはめて実行します。
すると、先生の開いたGmailのメールボックスには3件の新着メールが。シートに記載された通り、企業名やあて名が改変されたメールが問題なく届いていることが証明されました。
同じように複数の相手に一斉送信することは、例えばBccを利用するなど、GASを使わなくても可能です。
しかし、GASのように内容を細かく指定できるツールがほかにあるでしょうか? あて名や企業名だけでなくパスワード・IDなど細かい調整を相手ごとに、スプレッドシートで管理することでミスを最小限に抑えて実行できるのがGASのユニークな点です。Cc、Bccの細かな指定やファイルの添付などかゆいところに手が届くのもうれしい点だと先生は語りました。
ここから授業は手を動かすフェーズに入ります。スライドにはサンプルのスプレッドシートのURLが表示されました。サンプルシートをコピーして先生と同時にプログラミングを進めていきます。
ここで思い浮かぶのが「GASってどこで書けるの?」という疑問。その答えは、リボンの「ツール」ボタンをクリックすると表示されるドロップダウンリストの上から二番目に位置する「スクリプトエディタ」です。
授業を進めるにあたって紹介されたのが「wipeyy」というChrome拡張機能。指定した画面を切り出して小さなウィンドウとして手前に表示することで、サンプルコードを見ながらプログラムを記述することを可能にするピクチャインピクチャ機能です。
最初にプログラミングの基礎である「文字を表示させる」という操作を行ってみましょう。
以下のコードをスクリプトエディタに入力してください。
Function myFunction() {
console.log(“hello GAS”);
この状態でWindowsであれば「Ctrl + S」(Macであれば「Command + S」)をクリックしてファイルを保存します。この状態で、スクリプトエディタ上部の三角の実行ボタンをクリックすれば実行は完了。「Ctrl(Command) + Enter」を入力し、ログを表示させると、入力時点の日時とともに「hello GAS」という文字列が表示されるはずです。
特定の文字列を表示させたいときは「console.log」メソッドを用いるということをまずは覚えておきましょう。
「次に『変数』というものをやっていきたいと思います」と先生。「変数」は、プログラム内に一時的にデータを保存しておける「箱」のようなものを意味します。ここで先ほど入力したコードに以下の通り、記述が追加されました。
Function myFunction() {
console.log(“hello GAS”);
var sei = “Kimura”;
console.log(sei);
再びログを表示させると、「hello GAS」の直下に「Kimura」という文字列も表示されました。
続いて、フルネームを表示させましょう。変数は+記号で結合させることもできます。記述するのは下記のコードです。
Function myFunction() {
console.log(“hello GAS”);
var sei = “Kimura”;
console.log(sei);
var mei = “Yoshio”;
console.log(sei + mei);
実行し、ログを呼び出すと、「hello GAS」「Kimura」「KimuraYoshio」と3つの文字列が表示されました。
ここで先生が「consle」とわざと記述を誤ると、スクリプトエディタ上部に赤いボックスが表示され、エラーが警告されました。「この文字列を読み解くことが大事」と木村先生。記述のどの行に問題があるかまで補足されているため、しっかり読めばエラーの解決はぐっと早まります。
大文字・小文字の違いや細かい記述ミスなど些細なことでプログラミングは動かなくなってしまいます。根気強くエラーに対処し、どんどん慣れていきましょう。
ここでリアルタイム受講生から「保存しないと実行できないですか?」と質問が。「おっしゃるとおりです」と先生。保存をして初めて実行されるので、トラブル予防のためにもこまめに「Ctrl(Command) + S」を入力することを癖づけておくとよいでしょう。
本記事で紹介する一日目の授業の内容は以上です。ここまでだけでも、ある程度GASを使える自信が湧いてきたのではないでしょうか? 二日目の授業ではいよいよ「メールを一斉送信するためのコードを書く具体的な方法」に入ります。第一回の動画と合わせてぜひ、ご視聴ください!
文=宮田文机
ペンシルからのプッシュ通知を設定しておくと、新着記事のお知らせなどをブラウザ上で受信できて便利です。
通知を受信しますか?
Google Apps Script(GAS)とは、GoogleのアプリケーションをカスタマイズするJavaScriptベースのプログラミング言語のこと。「ExcelマクロのGoogleアプリ版」と木村先生は要約します。
「実際にできることを紹介します」とスライド上で動画が再生されました。
・営業の問い合わせメールの自動集計
・宛名・添付付きメールの一斉送信
・請求書の自動発行&自動メール添付
・スプレッドシートの予定をカレンダーに一括登録
上記のような操作がGASを用いれば自由自在とのこと。木村先生はその利点を以下の3点にまとめます。
1.作りたいことが思いつきやすい
2.環境構築不要
3.JavaScriptとほぼ同じ書き方
Googleのアカウントと紐づけて利用することになるGAS。毎日触ることで「こういうことはできないかな?」とアイデアが思い浮かぶ機会は無数に生じますし、ソフトのインストールなど環境構築の手間もかかりません。そして、“ブラウザの上で動く唯一のプログラミング言語”と先生が称するJavaScriptについて合わせて学べるのも大きな利点です。
さらにGASにはAPI連携も合わせて活用することで以下のように幅広い可能性が広がっています。
・フォームの未提出者に自動でリマインド(社内アンケートなど)
・受信トレイに届いたFAXを自動でDriveにアップロード
・Analyticsのデータを自動でシートに記入、slackに通知
・Facebook広告の成果をスプレッドシートに自動記入
・経理の未処理事項をチャットワークに通知
・Googleスライドを自動で新規生成してデータを追加
・カレンダーをもとに議事録フォーマットを毎回自動生成
授業でリアルタイム受講生にアンケートを取ったところ、「経費精算に使えそう!」「勤怠管理系で何かできないですかね?」などの声が上がり、早くもアイデアが湧き出している様子が見受けられました。