top of page

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

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

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. Gmailの受信トレイから「未読」かつ「特定件名」のメールを取得

  2. 各メールの情報をスプレッドシートへ転記

  3. 処理後にメールを「既読」に変更



□ スクリプト案

  • GmailAppのsearch(query):検索条件を指定。

    • is:unread で未読メールのみを処理対象とすることで、すでに転記済みのメールを除外します。

    • subject:"お問い合わせ" を組み合わせることで、特定の業務メールだけに限定します。

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

  • getDate():受信日時の取得

  • getFrom():送信者の取得

  • getSubject():件名の取得

  • getPlainBody():メール本文(テキスト形式)

  • appendRow():スプレッドシートへ書き込み

  • markRead():メールを既読に変更



□ 実運用時の課題:他ユーザー操作による既読化の影響

この方式では、未読状態のメールだけを転記対象とするため、他のユーザーがGmailを開いて既読にしてしまった場合、そのメールが転記対象から外れてしまうという課題があります。


たとえば、チームでGmailアカウントを共有していると、他のメンバーがうっかり開封してしまい、転記処理が行われないといった「見落とし事故」が発生する可能性があります。



■ まとめ

Gmailの受信メールを自動でスプレッドシートに転記する際、重複防止のための「処理済み管理」は不可欠です。今回紹介した「未既読管理方式」は、シンプルかつ導入が容易な方法として、初心者や個人での利用に最適です。


ただし、チーム利用や他ユーザーの関与がある環境では、既読操作による誤動作や見落としのリスクも存在するため、検索条件の工夫や運用ルールの整備が成功のカギとなります。用途や規模に応じて、他の管理方式(スレッドID記録やラベル管理)と組み合わせることで、より堅牢な運用を実現できます。



Comments


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

bottom of page