BLOG

業務を効率化する Google Apps Script 講座★スプレッドシートから自動でメールを送ってみよう

SHARE SHARE SHARE SHARE

みなさん、はじめまして!

リッチメディア 情報システム部のKaedeです。

 

今日はGoogle社が提供する「Google Apps Script」を使って日々の業務を少しだけ便利にする

小技を機能別にご紹介したいと思います。

 

具体的には本記事のサンプルを組み合わせる事で、スプレッドシート内で処理した数字を定期的にメールで報告出来る様になります。

業務でスプレッドシートを使って居て、日々細かい数字等を弄る方必見です。

 

業務を効率化する Google Apps Script <GAS> 講座 スプレッドシートから自動でメールを送ってみよう

 

そもそも Google Apps Script って?

 

Google社が提供する「スプレッドシート」等のサービス上で利用出来る

スクリプトです。(Excelのマクロの様なイメージ)

 

「スプレッドシート」と合わせる事で色々な処理が出来るようになります。

 

(例)

・定期的にシート上の数値をメールで報告

・外部のwebサーバへアクセスしデータのやり取りを実現

・関数では処理しにくい計算をコードで実現

・ログインしているGoogleアカウントの情報を取得して処理

 

今回は色々出来る Google Apps Script の機能の中でも業務で使えそうな物を

いくつかピックアップしてサンプルコードと一緒に紹介します!

 

【準備編】スクリプトエディタ

 

Google Apps Script を利用する上で、今回はスプレッドシートと連携した処理を実装しますので

まずはスプレッドシートを作成します。

(もちろん、既に作成済みのスプレッドシートにスクリプトを実行する事も可能です!)

 

スプレッドシートのメニュから「ツール」を選択し「スクリプトエディタ」を選択します。

新規に以下の様な画面に切り替わります。

 

スプレッドシートの「ツール」→「スクリプトエディタ」を選択する事で Google Apps Script を ON に出来る

 

これで準備完了です。コードを打ち込み、スプレッドシートと連携できる状態になりました。

 

【基礎編】メール送信

 

さて、一番最初はメール送信機能を実装してみます。

コード1の内容をエディタに貼り付けててみてください。

 

コード1:

 

メールを送る命令の書式は以下ですので、「****@gmail.com」を送信したい宛先のメールアドレスに置き換えてください。

書式: GmailApp.sendEmail("メールアドレス","件名","本文");

 

その状態で図の再生マーク部分のボタンをクリックしてコードを実行します。

その後宛先アドレスのメールボックスを確認しテストメールが届いていれば成功です!

 

スクリプトエディタにコード1を貼り付ける

 

【基礎編】セルの情報を読んだり書いたり

 

メールの次はスプレッドシートとの連携方法のご紹介です。

コード2の内容をエディタに貼り付けてみてください。

 

コード2:

 

こちらを実行するとA1座標のデータがB1座標にコピーされます。

 

test

 

■読み取り

スプレッドシートのセルを読み込む命令の書式は以下ですので、y座標と x座標の部分にセルの位置を数字で入力します。

※A1やB2の様な関数で利用する書式では無いので注意!

 

書式:sheet.getRange(y座標, x座標).getValue();

(返り値=読み込みデータ)

 

セルの座標は以下をお手本にご入力ください。

 

セルの座標の説明 x座標が左右、y座標が上下

 

■書き込み

 

スプレッドシートのセルに書き込む命令の書式は以下ですので、読み込み同様にセルの位置を数字で入力します。

 

書式:sheet.getRange(y座標, x座標).setValue(書き込みデータ);

 

コード2では読み込んだデータをdataという変数(入れ物)に格納し、書き込みデータにdataを指定する事でコピーを実現しています。

このサンプルの座標やデータを変更する事で他のセルでも同様な事が出来るので是非試してみてください。

 

【基礎編】バッチ処理(トリガー)

 

Google Apps Script には”定期的にスクリプトを実行する”トリガー機能が搭載されています。

【基礎編】メール送信 のスクリプトを利用して1分毎にメールを送る機能を実装してみましょう。

 

コード1をエディタにコピーした状態で下記操作に従ってトリガーを設定します。

 

スクリプトエディタのタイマーアイコンを押す

「新しいトリガーを追加」を押し、イベントを時間主導型、分タイマー、1分ごと、にして保存

 

受信ボックスを確認頂き1分毎にメールが送られていれば成功です。

実際は毎朝や毎週を指定するのが実用的ですね。

 

【応用編】スプレッドシートの情報を使ってメールを送信

 

さて、今までの基本編の集大成として、より実用的な機能を実装してみましょう。

 

まずは、コード3をエディタにコピーし実行します。

こちらはA1セルの内容をコピーしてメールで送信するスクリプトですので、対象アドレスに図の様なメールが届けば成功です。

 

基礎編の説明を元に数値を変更する事で、図の様なより本格的な機能を実装する事も可能です。

 

コード3:

 

[入力画面]

セルのA1にテスト用の文字を入れる

 

[届いたメールがこちら]

GMail に自動で送られたメールが届いた

 

 

いかがでしたでしょうか?

今回紹介したのは Google Apps Script の利用例のほんの一部ですが、この記事が Google Apps Script 入門のきっかけになれば幸いです。

是非サンプルコードを利用したり、インターネットで Google Apps Script で出来る事を調べてカスタマイズしてみてください。

 

エンジニア随時募集中

 

リッチメディアでは、一緒にサービスを作っていくエンジニアを募集しています。

20150901_仲間募集KV

 

関連記事

 

初心者でも安心!WEBライティングに取り入れられる簡単SEO対策ツール

情報システム事件簿!会社を脅かすウイルス感染~事例を基に~

デザインの知識がなくても使える!6つの配色テクニック

 

 

WRITER

kaede

Kaede

管理本部

kaede

RECOMMEND