基礎編のモチベーション向上のためにサポートして頂けるとめちゃくちゃ喜びます!! 呼び出しにはGmailApp.sendEmail(宛先, 件名, 本文)というように記載します。, rangeAにはシート部でいうメールアドレスを指定し、後にメール件名(MailTitle)とメール本文(MailText)を引数で指定しています。, 実行ボタンからメールを送信しようとすると、初回操作なので承認を求められます。 Googleからセキュリティ通知が来ると思いますが、大丈夫です。, 以下の通り、tnoceとジョンを宛名にして、それぞれのメールアドレスに

gasでスプレッドシートファイルを読む込む方法を5パターン紹介します。それぞれの取得方法によって挙動が違うので、目的に合わせて取得方法を選びましょう。サンプルコード付きでわかりやすいように … ※ Gmailからメールを取得するくだりは「【初心者向け】GASでGmailの新着(未読)メールを取得する【コピペでOK】」で詳しく解説しています。 メール内容をスプレッドシートに書き込むスクリプト プログラムに慣れている人からは簡単だったのではないでしょうか。, タイムトリガーやイベントトリガーと組み合わせることによって、もっと便利に使えるので、いろいろ試してみてください。, Alibaba Cloudを上手に使うためのノウハウの共有を目的としたコミュニティ.

情シス/コーポレートITの業務の中で、個々のアカウント通知メールなどを一括で配信したい場面が度々出てきます。 手動での個別メール送信はオペレーションミスの原因にもなるので、Googleドキュメント&スプレッドシートで差し込みメール配信を行うGASを用意しておくと非常に便利 … Why not register and get more from Qiita?

のメールが届けば成功です。, 初期の状態だと当然なにもトリガーがありません。画面右下のトリガー追加から追加しましょう。, 今回は時間主導型で毎週月曜日のPM1時〜2時の間にメールが送信されるようにトリガーを作ります。 投稿のモチベーションに繋がります^^¥, Google Apps Script(GAS)を使って、スプレッドシートの列に記載されているメールアドレスに定型文を自動送信します。, Googleが提供するサーバーレスのプログラミング環境です。略称でGASとよく呼ばれます。ちなみに発音は、ガ(↓)ス(↑)。, Googleが提供する11のサービスをクラウド上でスクリプトを実行することで操作できるサービスで、

本文:rangeB+"さん"+"\n\nお疲れ様です。\n本日"+today+"時点でのメールを送ります。\n" // スプレッドシートの件名・本文でメールを送信する Google Apps Script(GAS)を使って、スプレッドシートの列に記載されているメールアドレスに定型文を自動送信します。 Google Apps Script(GAS)とは. “4 は無効な範囲です。5 にする必要があります。” “6 Gmailからメールを取得してスプレッドシートに書き出すスクリプト”まで読んで気付きましたが、25行目のgetRangeの列幅が4が正解です … 関数は、先程作成したSendMailを指定しています。選択が完了したら保存を押します。, 無事トリガーが作成されました。

こんにちは、業務自動化ツール開発担当の吉池(@valmore_myoshi)です。, 例えば、お問い合わせフォームからメール通知されたお問い合わせ内容をスプレッドシートで管理する場合などなど。, メール本文から氏名や会社名、お問い合わせ内容を1件ずつコピペするのも手間がかかります。処理するメールが多ければなおさらです。, そんなときはGoogle Apps Scriptを使って自動化しましょう。本記事ではGmailから特定のメール一覧を抽出し、メール本文をスプレッドシートに転記する方法を解説します。, 本記事では下記のメール本文を例として取り上げ、「差出人」「会社名」「メールアドレス」「電話番号」をスプレッドシートに転記する作業を自動化します。, 手順は下記のとおりです。先に手順を書き出しておくとプログラムの全体像が見えてくるのでオススメです。, 先にプログラムの完成版をお見せします。以下ではプログラムの詳細について一つずつ解説していきます。, 最初にメール本文を転記するスプレッドシートを作成します。このスプレッドシートにプログラムを書いていきます。プログラムを書くエディタを立ち上げるために「ツール」→「スクリプトエディタ」を選択します。, 検索条件は適宜変更してください。今回は下記のような検索条件を指定します。スプレッドシートへの転記が終わったメールには「処理済み」ラベルを貼る想定なので、未処理のメールを検索する際には「処理済み」ラベルが貼られていないものにしています。, Gmailから特定の検索条件に一致するメールを取得するときは下記のように書きます。, これで検索条件に一致したスレッドを取得できます。個々のメールではなく、スレッドを取得している点に注意してください。, スレッドとは、メールのやりとりをまとめたものです。届いたメールに対して返信したり、返信したメールに対してさらに相手が返信した一連のメールはスレッドとしてまとめられます。, Gmailから直接個々のメールを取得する方法はないみたいのなので、一つずつスレッドを取得してからメール本文を取り出します。, 複数のスレッドから一つずつスレッドを取り出し、さらにメール本文を取り出すには下記のように書きます。, 上記プログラム例には完成版プログラムにはないLogger#logメソッドが追加されています。Logger#logメソッドに渡した値は「表示」→「ログ」から見ることができます。, 開発途中のプログラムが意図した通り動作しているか確かめる際に役立ちます。今回は下記のようにメール本文をログ出力できました。, 次はメール本文から目的の文字列を取り出します。今回例として取り上げたメール本文は下記の通りなので、ここから「差出人」「会社名」「メールアドレス」「電話番号」を抽出します。, 文字列抽出には正規表現を使います。正規表現とは、特定の文字列をパターン化して表現する方法です。正規表現の詳しい解説はこちらを参照してください。, メール本文から「差出人」「会社名」「メールアドレス」「電話番号」を抽出するには下記のように書きます。, 目的の文字列を抽出できたらスプレッドシートに一行ずつ転記していきます。まずはスプレッドシートを取得し、シート名を指定して書き込むシートを選択します。そのため、シートにはあらかじめ名前を入力しておいてください。ここではシート名を「お問い合わせ」にしました。, 次にシート内の値が入っている行のうち、最終行を取得しています。最終行に1行プラスすることで、同じシートに追記していくことが可能です。最後に書き込む行と列を指定して、先ほど正規表現で取得した文字列を書き込みます。, 転記を終えたメールには処理済みのラベルを付けます。ラベルを付けることで処理したメールを再度転記しないようにします。処理済みラベルはあらかじめGmail上で作成してください。, Gmailのメール本文をスプレッドシートに自動転記する方法を解説しました。Gmailからメールを取得する方法とスプレッドシートに書き込む方法を組み合わせれば簡単にルーティンワークを自動化できましたね。, 今回は処理済みフラグを使って未処理のメールと区別しましたが、時間をトリガーにして定期的に処理を走らせることも可能です。本プログラムの内容を理解できたら、作業に応じてカスタマイズしてみてください。, SikuliX 2.0.4のインストール方法と基本的な使い方。変更点・追加機能も解説, 【完全初心者向け】Python入門その3-プログラムを書いてみよう(Windows10編)-, 【完全初心者向け】Python入門その1-プログラムって?Pythonがおすすめの理由-, 【Excel VBA入門】Select Case文の使い方。複数条件をスッキリ書く!. こんにちは、業務自動化ツール開発担当の吉池(@valmore_myoshi)です。, 今回はGoogle Apps Script(GAS)を使って、Googleスプレッドシートで集計したリストへメール送信する方法を解説します。Googleフォームとスプレッドシートを連携させてメールアドレスを収集したけど、1件ずつメール送信するのが面倒といったときに役立ちます!, 例えばフォームで作ったアンケートの回答をスプレッドシートに集計し、回答者にメルマガを送るといった使い方もできます。あるいはセミナー申込フォームを作って、開催が近づいたらリマインドメールを送るといったこともできちゃいます!, たとえ話のようにスプレッドシートのリストにメール送信することはさまざまな場所で流用できるので覚えておいて損はありません。ぜひ本記事で習得してください!, 完成形はこちらの動画をご覧ください。スプレッドシートにメール送信用の独自メニューを設け、ワンクリックでリストにメールを送っています。, 利用イメージは、フォームの回答をスプレッドシートに集計し、集めたリストあてにメール送信するといった感じです。, ただし、今回はスプレッドシートのリストへメール送信することにフォーカスしているため、フォームの作成手順については解説しませんし、あえて作る必要もありません。本記事と環境を合わせたい方は作ってください。, 今回作成したフォームはこちら。会社名と氏名、メールアドレスのみのシンプルなフォームです。, そして、フォームと連携させたスプレッドシートがこちら。フォームの項目にはないタイムスタンプがデフォルトで設定されています。, フォームとスプレッドシートを連携するにはフォームの回答タブから「スプレッドシートの作成」ボタンをクリックするだけです。, メールの件名と本文の作成にはGoogleドキュメントを使います。件名はドキュメントのタイトル、本文はドキュメントに書いています。, まずはスプレッドシートにメール送信用の独自メニューを設置しましょう。独自メニューもGASのスクリプトを書くことで作れます。, 早速独自メニューを作っていきたいのですが、その前にイベントという概念を理解する必要があります。, イベントとは、特定の操作を意味します。ただの操作ではありません。イベントをもとにGASの関数を実行させることができる特別な操作です。, 例えばスプレッドシートを開くこともイベントです。スプレッドシートを開くというイベントを起こすことで、GASの関数を自動的に実行させることができるのです。, それでは、独自メニューを作るスクリプトを作っていきましょう。スプレッドシートのメニューから、ツール>スクリプトエディタをクリックしてGASを記述するエディタを開いてください。, スプレッドシートを開いたときに自動実行する関数にはonOpenという名前をつけるルールがあります。そのため、デフォルトのmyFunctionという関数名をonOpenに置き換えています。, onOpen関数では、スプレッドシートの取得とメニュー追加を行っています。変数menuItemsには配列形式でメニュー名と実行する関数名のオブジェクトを格納します。今回は「リストにメール送信」というメニューを追加し、sendMail関数を実行するよう指定しました。, これでスプレッドシートを開いたタイミングでonOpen関数が実行され、独自メニューが追加されます。プロジェクトを保存してスプレッドシートをリロードしてみてください。, まずはメール件名と本文を入力したドキュメントを特定しましょう。個々のドキュメントには一意のIDが振られており、アドレスバーから読み取れます。, ドキュメントのIDがわかったので、openByIdに指定して該当するドキュメントを取得し、件名と本文を取得します。, 次はスプレッドシートから会社名、氏名、メールアドレスのリストを取得します。このスクリプトはすでにスプレッドシートに紐づいているため、先ほどのドキュメントのように改めてスプレッドシートを特定する必要はありません。, getActiveメソッドでアクティブなスプレッドシートを取得できます。また、シート上のリストはgetDataRangeで取得しています。getDataRangeメソッドはシート上のデータが存在する範囲をすべて取得してくれます。今回のケースだと下記のA1からD3の範囲を取得しています。, 残りの作業はメール本文の置き換えとメール送信の繰り返しなのでforループのなかに処理を書いていきます。, 変数rangeValuesには二次元配列の形で会社名、氏名、メールアドレスが格納されているので、それぞれ変数に代入します。, あらかじめ取得しておいたメール本文の会社名と氏名を置き換えます。replaceメソッドで置き換えたい文字列と新しい文字列を指定することで本文を書き換えています。, 宛先と件名、会社名と氏名を置き換えた本文が用意できたので、sendEmailメソッドに指定します。これでメール送信の処理は完了です。, 最後にメール送信の完了を知らせるポップアップを表示するようにしましょう。msgBoxメソッドに表示させたい文字列を指定します。, それでは、実際にGASで作ったメール送信スクリプトを実行してみましょう。エディタの実行ボタンをクリックすると、初回は認証画面が表示されるのですべて許可してください。実行が完了するとポップアップが表示されます。, スプレッドシートのリストにメール送信する方法を解説しました。フォームで受付したセミナー参加者にリマインドメールを送ったり、アンケート回答者にお礼のメールを送るなど、さまざまな使い道が考えられます。, メール送信のロジックも簡単だったと思います。GASを使いこなせるようになればGoogleサービスを利用した業務を自動化できるので、ぜひお試しください。, 【Excel VBA入門】ドロップダウンリストの作り方。複数リストの連動方法も解説, 【完全初心者向け】Python入門その3-プログラムを書いてみよう(Windows10編)-, 【完全初心者向け】Python入門その1-プログラムって?Pythonがおすすめの理由-, 【Excel VBA入門】Select Case文の使い方。複数条件をスッキリ書く!. 引数として、rangeB(シートだとName部)とtoday(フォーマットした時間)をとっています。, GmailAppを呼び出します。 よく使うボタンは赤文字で書いています。 ※ Gmailからメールを取得するくだりは「【初心者向け】GASでGmailの新着(未読)メールを取得する【コピペでOK】」で詳しく解説しています。 メール内容をスプレッドシートに書き込むスクリプト

一般的には時計アイコンでトリガーを設定し、 これで、毎週月曜日のPM1時〜2時の間にメールが送信されるようになりました。, 今回は、汎用的に使えるGmailの自動送信をご紹介しました。 スクリプトの言語は、JavaScriptをベースとしています。, 「Excelのマクロと同じ」と言われることもありますが、これは正しくありません。 もし気に入っていただけたり、役に立ったらぜひ ”いいね!” お待ちしております! 副業エンジニアさんたちの稼ぐ力をブチ上げる情報を発信しまくります!, 【GAS超実践】TwitterのAPIを叩いてチャネルの情報を自動取得する - ①Twitter APIの利用設定編, /* 元エンジニアとしての知識と、UXを意識したデザイン思考で、 What is going on with this article? どうも、ビジボットです。 今回GoogleAppsScript (GAS)を使って、スプレッドシート上のボタンを押すだけで自動でメールが送信されるというコードを紹介します。 使うイメージで例えば開発がテストメールを指定した件名や内容で送らないといけない場合、そのサンプルメールがボタンを押すたびに送信できたり、サンプルメールで一部可変部分があった場合にスプレッドシート上で指定する事で、送信されるメールがカスタムできたりと、様々な部分で便利になります。 操作自体は難しくないものの、似たような内容であれば単調な作業になりがちですし、集中力が途切れてしまうと人為的なミスが起こってしまうこともないとは言えませんね。 「作業」「人為的なミス」こういった問題を解決するにはプログラムの力を借りるのが一番でしょう!

時刻になったらメールを送信する Gmail送信(安全ではないページ)に移動します。

//送信対象のA列を最終行まで取得していく。それを ' rangeA ' という変数に格納, //送信対象のB列を最終行まで取得していく。それを ' rangeB ' という変数に格納, AliEaters (Alibaba Cloud Developers meetup), デバイスでのパフォーマンス分析を自動化する新しいツールArm Mobile Studio, 毎朝8時にGmail起動し、Googleカレンダーの予定をテキストで特定のアドレスに送信する, you can read useful information later efficiently.

Help us understand the problem. → 大手IT企業でプロダクトマネージャー(副業エンジニア) 今回はGoogle Apps Script(GAS)を使って、Googleスプレッドシートで集計したリストへメール送信する方法を解説します。Googleフォームとスプレッドシートを連携させてメールアドレスを収集したけど、1件ずつメール送信するのが面倒といったときに役立ちます! By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. このシリーズでは、Webサイトからの問い合わせメールを自動でスプレッドシートに取り込んだり、チャットワークに送る方法についてお伝えしていきます。 【GAS】Gmailに送られた過去のメールから特定条件のメールを検索して取得する

情シス/コーポレートITの業務の中で、個々のアカウント通知メールなどを一括で配信したい場面が度々出てきます。手動での個別メール送信はオペレーションミスの原因にもなるので、Googleドキュメント&スプレッドシートで差し込みメール配信を行うGASを用意しておくと非常に便利です。, ・本スクリプトは、メルマガ配信など社外への大量配信を目的にしたものではなく、同組織内でのメール通知を目的としています。対外的なメール配信については、然るべき信頼性の高い仕組みを利用してください。, ・Gmailには1日あたりの送信数に制限がありますので、あまりに大量のメール送信は実施しないように注意してください。, Googleドキュメントで、通知メールのテンプレートを作成しておきます。変数となる箇所を{VALUE#}と記載しておきます。(今回は3つにしました), [ドキュメントID]には、先の手順で用意しておいたGoogleドキュメントのファイルIDをセットします。ファイルIDは、そのファイルを開いた際のURLのうち、以下の「XXXXXXXX」にあたるランダム文字列を指します。https://drive.google.com/a/jmty.jp/file/d/XXXXXXXX/, [添付ファイルID]は、配信メールにファイルを添付したい場合のみセットしてください。あらかじめ添付したいファイルをGoogleドライブ上に配置しておき、そのファイルのIDをセットします。(IDの調べ方は上記と同じです)PDFなど、ブラウザで直接開けないGoogleドライブ上のファイルのURLは、対象のファイルの[共有]メニューから共有リンクのURLを表示すれば確認することができます。, 先の手順で作成したスプレッドシートに、以下のスクリプトを追加します。※スプレッドシートのレイアウトをカスタマイズしている場合は、開始行数やカラム指定位置は適宜修正してください, スクリプトの中で、テンプレート中の変数(今回の例だと{VALUE1~3})をスプレッドシートでセットされた値に置換しています。変数名は何でもいいですが、テンプレート文中で同じ文字列が出てくるとそちらも置換されてしまうので、通常出てこないような文字列がいいでしょう。, 作成したスクリプトを実行します。スクリプトを実行すると実際にメールが送信されてしまうので、Toに自身のアドレスをセットして、必ず最初にテストを実施しておきましょう。スプレッドシートに記載されている内容に従い、以下のようにメールが配信されていきます。, 今回のスクリプトはプレーンテキストでのメール配信ですが、HTMLメール配信用のオプションも用意されているので、HTMLメールを配信したい方はこちらのGASリファレンスを参考にしてみてください。, https://drive.google.com/a/jmty.jp/file/d/XXXXXXXX/, Google Form, Slack, Zapier, Trelloで作る簡易ヘルプデ…, データ保存用のDocker Containerをdocker-composeで管理….

※ ただし、GASからメールを送信する際には1アカウントにつき1日100件という制限があるので注意して下さい。 スプレッドシートに記載された件名と本文を送信してみる.

以前、GASからGmailを送信する方法は以下の記事で解説しました。

「 ご用件:」はスプレッドシートの中に不要なので replace で空欄に置き換えています。 var yoken = ary[4].substring(0).replace(‘\r’,”); ご用件はメールの5行目にあるのですが、1行目から[0]と数えるためary[4]で5行目と指定、抽出します。 ※2018/02/15 追記 Gmailのメール本文をスプレッドシートに自動で転記する方法を解説します。Google Apps Scriptを使えば未処理のメールだけを抽出し、簡単にデータを取得可能。定期的に飛んでくるメールから必要な情報だけ整理するのに役立ちます。 スプレッドシートだけを操作する場合は、Excelのマクロと似ていますが、Google Apps Scriptはより幅広い用途に使用できます。, 初期のエディタ画面はこんな感じ。 Googleが提供するサーバーレスのプログラミング環境です。略称でGASとよく呼ばれます。 表現がかなり危険そうですが...まあ大丈夫です。, 許可 を押下します。 だいたい作業工数は1記事あたり4-5時間程度かけて【分かりやすい】【知識が身につく!】を意識して作っておりますので、今後も頑張っていきます!, ベンチャーでweb系エンジニア 許可を確認を押下し、スクリプトの実行を許可します。, マスクしていますが、スクリプトの実行を許可させるGoogleアカウントを選択します。, 詳細を押下し、赤枠のページに遷移します。