プログラミング

GASでCSV形式にしたスプレッドシートを添付してメール送信する方法

GASを使ってCSV形式にしたスプレッドシートをメールに添付して送信したいんだけど、やり方を知りたい!

本記事ではこのような悩みを解決します。

本記事はこんな方におすすめ

  • GASプログラミングを初心者向け
  • GASのコードが知りたい人向け
  • 作業の自動化に興味のある人向け

 

記事を書いてるのはこんな人

GASを使って業務用メールの自動化に成功。スプレッドシートの添付やGoogleドライブとの同期などをする事が出来るプログラマー。

 

GAS(google apps script)を使ってシステムを組んだ時に

CSV形式にしたシートをメールに添付して送信したい!

っと言う事があったので、サンプルコードとして共有します。

 

添付してメール送信するサンプルコード

 

上記コードをコピペすれば、指定したスプレッドシート内のシートをExcelで文字化けしないように変換してメールに添付する事が出来ます。

内容どうでも良いから動けば良し!って時にご利用ください。

 

サンプルコードの解説

変数へ代入

まずは必要な情報を全て変数へ代入します。

  • SS・・・現在のアクティブなスプレッドシート内の’シート名’と言うシートを取得する。
  • maxColumn・・・使用されているColumnの最後の列を取得する。
  • maxRow・・・使用されているRowの最後の行を取得する。
  • date・・・取得したシートに記入されているデータを全て取得する。

CSV構成へ修正

続いてCSVの構成になるようシート内データを修正します。

date[row][col]で取得したデータの中に「,」があれば前後に「\"」を付けて1つの単語にします。

CSVにした時に変な分裂しないようする処理です。

「,」がなければそのまま処理が進み、csvと言う変数の中に格納されます。

おすすめ情報

いまの環境に満足してますか?

『ウズキャリIT』無料でスキルを習得して年収を上げれる転職サイト

あなたのスキルを正しく評価してくれる会社があなたを待っています。

無料で相談する

 

メール送信処理

blobの中に「ファイル名.csv」と言うテキストタイプのデータを入れる。

ここでつけたファイル名が実際のファイル名になります。

 

blobのデータと「CSV構成へ修正」で作っておいたcsvFile変数を関連付けて文字コードを「shift-jis」に設定します。

ここで「shift-jis」の設定をしておかないと実際に届いたファイルをExcelで開いた時に文字化けします。

 

options変数に添付ファイルとして設定

最後にMailApp.sendEmailに「送信先メールアドレス」「メールタイトル」「メール本文」「添付ファイルを格納したoptions変数」を記入して完成

 

まとめ

今回はGASを初めて使ったので色々と調べて完成させました。

ネットでサンプルコードを拾うと実際には動かなかったり、動いたはいいけれど文字化けしたファイルだったりと情報が錯誤していたので、2020年1月21日現在では完全に動作するコードとして修正した物をアップしています。

 

使用例

これ何に使うの?って人向けに私自身の使用例を教えます。

  1. WindowsでもMacでも使える共有のネットショップ用帳簿を作りたかった。
  2. ネットショップの注文情報をCSVとしてダウンロード。
  3. ダウンロードした物をgoogle driveに入れると自動的にスプレッドシート内の売上・仕入れ帳簿・発注書へ記入。
  4. 過去にあった注文(重複注文)などは記入しないよう処理を飛ばす
  5. 帳簿処理が全て終わったら発注書シートを添付してメールを飛ばす

これで半自動的に受発注処理が可能になります。

本来ならばOauth認証使ってショップのAPI情報から取得させて完全自動出来れば一番良かったのですが、圧倒的技術不足!

いまの所は半自動で処理ですませていますが、それでも業務効率は爆上げですのでスプレッドシートを使ってメールを送るような事があればぜひともご活用ください。

  • この記事を書いた人
  • 最新記事

井川 裕輝

ネットショップ総合管理職3年の経験を経て独立、現在は法人代表。小規模低予算少人数でのネットショップ立ち上げ経験が最も多い。

-プログラミング

© 2021 ネットショップ運営情報ブログ『WellMaga』