top of page

Gmail:受信メールを監視してスプレッドシートへ自動転記 1(ラベル管理)

  • 執筆者の写真: egachira0250
    egachira0250
  • 5 日前
  • 読了時間: 3分

更新日:4 日前

Gmailに届いたメールをGoogle Apps Script(GAS)を使ってスプレッドシートに自動転記する方法は、業務効率化に非常に役立ちます。しかし、処理済みメールと未処理メールをどう区別するかが非常に重要です。処理済みのメールを再び転記してしまうと、重複データが発生し、業務に支障をきたすおそれがあります。


本記事では、メールの自動転記における「処理済み管理」の方法について、以下の4つのアプローチを紹介すると共に、「ラベル管理」の具体的な実装方法を説明します。



■ 動作環境

OS: Windows 10 Home(64ビット)

Chrome: 136.0.7103.93(Official Build) (64 ビット)



処理済み管理の4つの手法

手法

概要

メリット

デメリット

ラベル管理

処理済みのメールに専用ラベルを付ける

視覚的にわかりやすい/Gmail上でも確認可

ラベルの付け忘れ・重複処理の可能性

スレッドID記録

スレッドIDをスプレッドシートやプロパティに保存

転記済みの判別が確実

スクリプトがやや複雑/プロパティ制限あり

件名+日時ハッシュ

件名と日時で一意キーを生成して判別

実装がシンプル

類似メールで誤判定の可能性あり

未既読管理

未読メールのみを転記、処理後に既読に

実装が簡単/Gmail標準機能と連携しやすい

既読操作で誤判定のリスク/チーム運用に不向き

この中で今回は、ラベルを使った管理方法について詳しく解説します。



ラベルを活用したGmail転記スクリプトの作り方

□ 基本的な仕組み


  1. 特定の条件(例:件名や送信元)でメールを検索

  2. 未処理メールのみを抽出(「未処理」ラベルがないメール)

  3. スプレッドシートへ必要情報を転記

  4. 転記が完了したメールに「処理済み」ラベルを付与



□ スクリプト案

  • getUserLabelByName() / createLabel():ラベルの取得または作成。

  • GmailAppのsearch(query):Gmailの検索クエリでスレッドを取得。-label:処理済み によって未処理を絞り込み。

  • getMessages():スレッド内の全メッセージを取得。

  • appendRow():スプレッドシートの末尾にデータを追記。

  • addLabel():メールに指定ラベルを付与。



□ 手動によるラベル追加


スクリプトで参照しているラベルを事前にGmailにて登録する場合は、ラベルの追加機能から実施します。

ラベルの追加機能イメージ


■ まとめ

Gmailの受信メールを自動的にスプレッドシートへ転記する処理において、処理済み管理は非常に重要なポイントです。今回紹介した「ラベル管理方式」は、導入が簡単で視認性も高く、初めてのGAS導入にぴったりです。


ラベル以外にもスレッドIDの記録や件名+日付のハッシュ化、未既読管理などの方法もありますので、業務に応じた運用が可能です。


ぜひこの記事を参考に、あなたの業務に合ったメール転記システムを構築してみてください。



Comentários


©2020 by Excelノウハウの備忘録♪。Wix.com で作成されました。

bottom of page