ノンプログラマーがすすめる、はじめてのGASプログラミング

ノンプログラマーがすすめる、はじめてのGASプログラミング

(2020年7月21日 掲載)

実は最も身近な自動化ツール?

今、世の中では働き方改革から始まり在宅勤務などの「ニューノーマルな働き方」が多くの企業で導入されはじめています。「ニューノーマルな働き方」では、今まで働いていたオフィスや店舗から在宅環境で働くようになり、働き方を根本から変えていかなければなりません。また生産性向上も求められており、業務の効率化が必要不可欠となってきます。ところで、業務を効率化するためには具体的に何をすればよいでしょうか。導入されるツールにはAIやRPAをイメージされる方もいるかもしれませんが、業務効率化するために最も身近で、簡単なツールの一つが、今回取り上げるGAS(Google Apps Script)です。

GASとはJavaScriptをベースとしたスクリプト言語で、Gmail やGoogle ドキュメントなど、G Suite のサービスどうしを簡単に連携したり、自動化したりなど、さまざまなことができるようになります。
JavaScriptをベースとしているので、これまでコードを書いたことがないという人でも比較的簡単にはじめられる点が特長です。

"GASの効果的な活用術"

GASで実行できることは多種多様ですが、実はGASに関する書籍や参考Webサイトはあまり多くありません。そこで今回、GASをまだ触ったことのない方向けに、GASで何ができるのか、どれくらい理解できるのかについて紹介します。
本記事では、筆者がGASを使いはじめたきっかけから、Google フォームを使って自動でメールを送るGASについて、解説と実装方法を紹介します。

GASを使ってみようと思ったきっかけ

筆者が勤務するソフトバンクではペーパーレス化が早い段階から進んでおり、社内の多くの部署で、メールから資料作成、タスク管理などほぼすべての業務を「G Suite」上で完結することができます。
その中で、私の部署では各部署で実施するイベントやセミナーの情報をGoogleフォームで集約しており、内容に応じて打ち合わせを実施しています。
Googleフォームで投稿した人に申請受付等の連絡をメールで行っていたのですが、こういった業務をしているうちに、GASを使えば毎回送っている受領メールを自動化できるのではないかと思い、文系大学出身のノンプログラマー代表の私が挑戦することになりました。

GASでコード組んでみた

ネットで調べたり、周りにいた詳しい人にヒントを貰うことで、想像していたより簡単にソースコードを書くことが出来ました。
そのソースコードの仕組みは以下の内容になっています。

""


<実際のスクリプトコード>

function autoreply() { 

 //ここに定義を記入しています
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("フォームの回答 1");
 //getSheetByName("〇〇")=〇〇内にはフォーム回答用のSS内シート名前を記入します
  var row = ss.getLastRow();
  var mail = ss.getRange(row,2).getValue(); //「メールアドレス」を指定しています
  var busyo = ss.getRange(row,3).getValue(); //「部署名」を指定しています
  var name = ss.getRange(row,4).getValue(); //「本件担当者」を指定しています
  var request = ss.getRange(row,5).getValue(); //「依頼内容をご記入ください」をしています。
  

  //メール本文の構成を下記に設定しています
   var body
 = busyo + " " + name + "さん\n\n"
 + "お疲れ様です。\n\n"
 + "受付フォームへのご記入ありがとうございます。\n"
 + "追って担当者よりご連絡いたしますので、今しばらくお待ちください。\n"
 + "ご依頼内容によりお時間を頂く場合がございます。予めご了承下さい。\n\n"
 + "------------------------------------------------------------\n"
 + "■依頼者\n"
 + name + "さん(" + busyo +")\n\n"
 + "■依頼内容\n"
 + "・内容:" + request + "\n"
 + "------------------------------------------------------------\n\n"
 + "〇〇部○○課\n"
 + "※本メールは自動送信です。\n";
  
 
   //メールの件名を設定しています
   var subject = "【受付完了】" + name + "さん" ;
   
  //送信者の設定
  GmailApp.sendEmail(mail, subject, body,{
  from:"「送信者のアドレス」",
  cc:"「共有したい人のアドレス」"});

}

【最後の設定】
コードを保存した後、フォームに投稿がある度に自動返信を行うように設定します。


① スプレッドシートのツールタブより「スクリプトエディタ」をクリック ""

② 開いたページに上記のスクリプトコードをコピー&ペーストで貼り付けます

③ ページ上部の「現在のプロジェクトのトリガー」をクリック ""

④ 「+トリガーを追加」からGASが作動するタイミングを設定します ""

⑤ 「実行する関数」から動かしたい関数を選択し、「イベントの種類を選択」を「フォーム送信時」へ変更して保存

【コード作成時のポイント】
* function autoreply() {〇〇}で始まり、〇〇の間にコードを記入する
* 一つ一つのコードは最後に「;」で閉じる
* コードを書く際は自分でも分かりやすいように綺麗に描くことを意識する
* コードは入力ミスを減らすため、極力手打ちせずコピー&ペーストする
* 「var △△」のvar とはvariable(変数)という意味。一意な名前をつけコードで使用することができる
* 「var △△」の△△の部分は自由に設定できる(上記サンプルコードではssやnameなど)。ただし、その後のメンテナンスなどを考え、わかりやすく設定することが良い。そのあとの「row,□□」の□□には、SSのセルをA列=「row,1」、B列=「row,2」と左から右にカウントアップして指定していく
* コード上で「//」から記入して改行するまでの文章はコードと認識せずテキスト扱いになる
 コードの内容などメモを書きしておくと後で見返した時に分かりやすくなる
* テキストは”(ダブルコーテーション)で囲む
* 変数やテキストなどは「+」で連結できる
* 「\n」でメール本文を改行する

GASを触ってわかったこと

実際にGASを触ってみた感想は、

  • 基本さえ理解出来れば、簡単な自動化はできる
  • 動いてくれるとおもしろい(ちょっとした成功体験も味わえる)

と感じました。

実際に動いてくれた時はノンプログラマーの私でもできるのだと感動すら覚えました。プログラミングを何か難しいものと考えていた私にとって、GASは予想以上に簡単に作成でき、自分の業務の一部分を自動化することができました。

小学校でプログラミングが必修化され、ビジネスとプログラミングは切っても切り離せない関係になる中、このGASは G Suite が使える環境であれば誰でも気軽に使えるサービスであり、プログラミングデビューをするには最適なツールだと思います。

自動化の最大のメリットは、手作業で行うはずだった業務時間が空くことです。この空いた時間を自己研鑽やプライベートに使えば、より充実した生活を送ることができるのではないでしょうか。

「働き方改革」という言葉はすっかり聞き慣れた言葉になってきましたが、会社に頼り過ぎず自分の目の前にある業務をほんの少しずつ見直していく事で、まずは自分の業務で「働き方改革」を進めていくのも面白いかもしれません。

関連サービス

G Suite

G Suite™ は、Google が提供するクラウド型グループウェアです。ソフトバンクは G Suite の正規代理店として累計160万ID以上の実績があり、さまざまなサポート体制を用意しています。

関連リンク