Initial Site

Initial Site

Initial Site

【GAS】Gmailで複数のメールの添付ファイルを一括でGoogleドライブへ保存する

  • ヨシモト  2018/09/17 17:27
bg_kaitenzushi

営業部 ヨシモトです。

PCでもスマホでも共通のストレージとして利用できるGoogle ドライブってとっても便利ですよね!

しかもGmailの添付ファイルも簡単に保存できるのも便利!

でも、特定の条件に合致した複数のメールの添付ファイルを一括で保存できたらもっと便利なんですが…。

 

複数のメールの添付ファイルを一括でドライブに保存

これをGoogle Apps Script(以下、GAS)で解決します。

手順としては

1.Gmailの検索クエリを指定してメールを拾っていく

2.そのメールに添付されているファイルをドライブへ保存する

この2段階です、カンタン!

既に過去にGmailから本文を抜き出すスクリプトの記事などでも1.は行っていますね。

2.も難しい内容ではありませんので早速やってみましょう。

 

コードを書く前に、Google ドライブ内に添付ファイル保存用のフォルダを作っておいてください。

 

Google Apps Scriptで書く

function hasAttachment() {
  var fol = DriveApp.getFolderById('ここはドライブのID');
  var thds = GmailApp.search("いらすと has:attachment jpg OR png", 0, 3);
  var messe = GmailApp.getMessagesForThreads(thds);

  for(var i = 0; i < messe.length; i++) {
    for(var j = 0; j < messe[i].length; j++) {
      var attach = messe[i][j].getAttachments();
      for(var k = 0; k < attach.length; k++){
        fol.createFile(attach[k]);
      }
    }
  }
}

 

解説

  var fol = DriveApp.getFolderById('ここはドライブのID');

まず添付ファイルを保存するフォルダのをIDにて指定しておきます。

該当フォルダに入るとURLに書いてあります。

folderIdCap

 

  var thds = GmailApp.search("いらすと has:attachment jpg OR png", 0, 3);

検索クエリを指定します。

has:attachment を指定すると、添付ファイルが存在するメールを検索してくれます。

また、ここではjpg OR png を加えて画像ファイルに絞っています。

ちなみにこの場合、ZIPファイルにjpgファイルが含まれていると、該当のZIPファイルも拾ってくれます。便利!

Gmailの検索演算子は他にも便利なのがたくさんあるので、公式のヘルプページをご覧ください。

Gmail で使用できる検索演算子 – Gmail ヘルプ

 

  var attach = messe[i][j].getAttachments();

検索で取得したメッセージに対してgetAttachments()することで添付ファイルを取得することができます。

getAttachments()は添付ファイルが配列に格納されることをイメージしましょう。

 

  for(var k = 0; k < attach.length; k++){
    fol.createFile(attach[k]);
  }

はじめに指定したフォルダに対してcreateFile()することで、フォルダの中にファイルを作成します。

この時、先ほど格納した添付ファイルの配列で繰り返しこの動作をしてもらいます。

 

これを実行すると

folderCapAfter

ドライブに保存されました!これは便利!

 

その他、スプレッドシートやGASに関する記事はこちらからどうぞ。

GASを使ってGmailから本文の一部を抜き出す

スプレッドシート独自の便利な関数

QUERY関数の便利な使い方

スプレッドシートを使って簡単なスクレイピングをしてみよう

【GAS】正規表現を使ってGmailの本文から文章を抜き出す

【簡単】GASでスプレッドシートの送信リストからメールを送る

【GAS】正規表現を使って複数行の文章をGmailから抜き出す

【GAS】Gmailで複数のメールの添付ファイルを一括でGoogleドライブへ保存する


コメントをどうぞ

ツールの記事

  1. bg_kaitenzushi
    【GAS】Gmailで複数のメールの添付ファイルを一括でGoogleドライブへ保存する
  2. kid_job_boy_programmer
    【GAS】正規表現を使って複数行の文章をGmailから抜き出す
  3. createSSAsan
    【簡単】Google Apps Script(GAS)でメールを送る
  4. Vimが辛い人
    Vimが使いにくい人はVimiumからはじめてみたらいいかもしれない

おすすめ記事

  1. スギ花粉
    鼻がムズムズ目がカユカユな花粉症についてまとめてみた
  2. 『テレビ観ないんだよね…』と言うのがかっこいいと思っている人に告ぐ!
  3. 出典:無料壁紙:格闘技がテーマの写真やイラスト画像まとめ(格闘家・ブルースリー)
    ブルース・リーの出身地ってどこだかわかりますか?
  4. ハイビスカス
    ウチナーンチュが沖縄に帰った時に必ず行くお店10選+α
  5. イニシャルサイトコーポレートサイト
    コーポレートサイトをリニューアルしました
  6. なんでもQ
    相談Q&Aサイト「なんでもQ」開発中です!
  7. さんぽすフォトコンペ開催中
    今年もさんぽすフォトコンペ開催しました!

人気の記事

  1. クロックスの偽物と本物の違い
    クロックスの本物と偽物の違いを比べてみました
  2. ファミコン
    パズドラ、モンスト、白猫に続く次のゲームは…?
  3. konagaya_20150303
    日常でつい使ってしまう間違えやすい日本語
  4. Doctor scanning mri patient with MRI scanner machine technology
    MRI検査(造影剤付き)の感想と注意点