情報管理LOG
yoshinon

ITやモバイル機器、iPhone、手帳や本など。

Gmailで差し込み送信する方法(GAS編)

2021年10月14日
Google 0
2021101300.png


情報管理LOGの@yoshinonです。
最近、更新頻度がかなり低くなっており申し訳ないです。
重要なお知らせを一番下に書きましたので、気になる人は参照してください。

さて、前回の続きです。
Googleフォームで送られたスプレッドシートのデータを使って、Gmailに差し込み送信をする場合についてです。前回は、アドオンを使用してやる方法について書きました。今回は、本丸であるGASを利用しての一括差し込み送信についてです。下の方にスクリプトを載せていますが、正直あまり上手くないです。もしも、さらにブラッシュアップしてくださる方がいれば、ぜひともお任せしたい感じです。
それでも、私の環境では動きましたので、ぜひお試しあれ!


  
【 Gmailで差し込み送信する方法(GAS編) 】  

 1.事の発端

 2.GASでやってみる

 3.実際に送信してみる








事の発端としては、Twitter上でDMでこのようなメッセージをいただいたからです。

2021101301.png



元となった記事は、こちらです。
かなり懐かしい記事ですね。QRコードをGoogleフォームのデータを元に発行するというものでした。今でも有効で受付業務とかで使えますよ。




そういうわけで、これはやらないわけにはいきませんね。
そこで、一つ目の方法として、アドオンで対応するという記事を書きました。




これは、非常に簡単ですが、簡易的なものです。
今回は、さらに一歩踏み込んでGAS(Google App Script)で組んでみたいと思います。





GASですが、私自身は、現在勉強中みたいな感じで、基本的にはネットの皆さんのスクリプトをカスタマイズして使用しているみたいな感じになっています。なので、上でも書きましたが、もしもGASに詳しい人がいらっしゃいましたら、ぜひとも見ていただき、「この部分は、こうしたらよいよ~」と指摘してくださるとありがたいです。

今回のフォームは、こんな感じです。




で、生成されたスプレッドシートは、こんな感じ。

2021101302.png



バーコード自動Gmail返信システム(回答)
※使用するときは、必ず「ファイル」→「コピーを作成」で、自身のGoogleドライブにコピーして使用してください。


一応簡単に説明すると、E列までは、Googleフォームで吐き出されたものが反映されていて、FとG列は、そのデータを元に生成しています。

F2に

=arrayformula(if(A2:A498="","",ARRAYFORMULA(value(A2:A498)*100000)))

G2に

=arrayformula(if(A2:A498="","",ARRAYFORMULA("http://barcode.design/barcode.asp?bc1="&F2:F498&"&bc2=6&bc3=3.5&bc4=1.2&bc5=1&bc6=1&bc7=Arial&bc8=15&bc9=1")))

と入力することで、Googleフォームからデータが送られても、行が挿入された感じになって、数式が飛ばされるということがなくなります。したがって、2行目だけはダミーデータとして残して置いてください

ARRAYFORMULA関数ですが、このあたりに関しては、以下で解説していますので参照してください。




では、スクリプトです。
作成するときは、スプレッドシート上で「ツール」→「スクリプトエディタ」でGASを開きます。大丈夫!怖がらなくて良いよ!

2021101303.png



一度、1~4行目まで全部消して、

2021101304.png


以下のスクリプトをコピペしてください。




さらに、Gmailに送信するためのメールのひな形を準備する必要があります。これは、Googleドキュメントを使用します。
※スクリプト内で全て完結する方法も検討したのですが、ある程度自由度と分かりやすさがあった方が汎用性があるだろうという判断です。

こちらが、そのファイルになります。
※もしも、そのまま流用する場合は必ず、「ファイル」→「コピーを作成」でご自身のGoogleドライブに保存してからご利用ください。

バーコード送信本文(差し込み用)

今回、作成したのは、こんな感じのフォーマットです。

2021101313.png

データはこちらです。

バーコード送信本文(差し込み用)
※必ず使用するときは、「ファイル」→「コピーを作成」でご自身のGoogleドライブに保存してからお使いください。

このフォーマットの{}で囲われている部分が、スクリプトによって置換されるということになっています。

スクリプトは、このままでは使えないので改造する必要があります。
赤字の「GoogleドキュメントのURL」は、先ほどのGoogleドキュメントのURLをそのまま貼り付けます(もちろん、自身のGoogleドライブに保存した方のです)。
「メールの件名」は、送信したときのメールのタイトルになります。その部分も書き替えましょう。

2021101309.png



変数の設定もします。紫色の部分をスプレッドシートに対応する名称にしておくと分かりやすいかもしれません。

2021101310.png



次にどのようにGoogleドキュメントを置き換えていくのかについて記述していきます。
赤字の部分は、Googleドキュメントの{}と同じにしてください。その部分が、スプレッドシートの値で差し込まれる仕組みです。また、紫色の部分は、上記の紫色の部分と必ず揃えてください。

2021101311.png



{名前}のところだけ、後ろに「/gi」と入っていますが、これはGoogleドキュメント上で複数箇所記述されており、複数箇所の置き換えする場合記述しなくてはなりません。

※もしも、不安なときは、まずはこのまま使ってみて、徐々に改造していくと良いかもしれません。





では、実際に送信してみたいと思います。
先ほどのスプレッドシートをそのまま使用する場合は、Googleフォームでスプレッドシートを生成する場面で、そのスプレッドシートを指定してください。
もう一度書きますが、2行目のダミーデータは、消さないでください。数式が消えてしまいます。

また、スクリプトを実行するときに、初回のみ「承認」を要求されます。
以下の手順で承認してください。

まずは、「権限を確認」をクリック。

2021101308.png



以下のようなダイアログが出てくるので、「詳細」をクリック。

2021101305.png



「(安全でないページ)に移動」という怖い文面が出てきますが、気にしないでOK!
そこをクリックします。

2021101306.png



そして、「許可」をクリック。

2021101307.png



これで、準備OKです。
あとは、もう一回「実行」を押せば、スクリプトが発動します。

ちゃんと、メールが届くとこんな感じになります。

2021101312.png




 eyeglass2.png 情報管理LOGの眼
 GAS便利だよね

GASに関しては、まだまだ勉強中の身なので、たぶん見る人が見ればツッコミどころがあるスクリプトかもしれません。一番最初に書いたように、ぜひ気になる点などございましたら、DMください。

さて、情報管理LOGですが、現在、本業が忙しすぎて更新が滞っています。この状態は、11月上旬まで続く見込みになっています。情報管理LOGを楽しみにしてくださっている方には、申し訳ないのですが、11月上旬まで不定期連載とさせてください。私自身、書いていないと落ち着かないこともあるので、更新停止にはならないと思います。どうぞ、長い目でよろしくお願いいたします。

詳解! Google Apps Script完全入門 [第3版]
高橋宣成(著)

5つ星のうち4.1
2317円


転生したらスプレッドシートだった件
ミネムラコーヒー(著)

5つ星のうち4.2
6020円


関連記事

コメント0件

コメントはまだありません