none
OUTLOOKの指定したアカウントの受信トレイ(またはその配下のフォルダ)からメールを読み込みたい RRS feed

  • 質問

  • へっぽこドラマーと申します。
    よろしくお願いいたします 

    現在社内ツールの対応で以下の案件で困っています。

    (現行)OUTLOOK2007の受信トレイからメールを読み込み、特定キーワードの行をDBに蓄積する。

    OUTLOOK2013を対応する事になったのですが、アカウント毎に受信トレイが分かれており、
    複数アカウントを持つ社員の場合に目的のアカウントからのメール読み込みができない場合が発生しています。

    特定のアカウントの受信トレイからメールを取得する方法を教えてください。

    ご経験のある方、お詳しい方、いらっしゃいましたら、よろしくお願いいたします。

    2017年10月30日 13:21

回答

  • 自己解決いたしました。、

    OUTLOOK > アカウント設定 > データファイル(タブ) で、指定したアカウントのデータファイルを"既定"に設定することで、
    GetDefaultFolder(6)により指定アカウントの受信トレイフォルダを取得できました。

    お騒がせ致しまして申し訳ありませんでした。

    ただできれば、OUTLOOK側の設定変更なしで、指定アカウント配下の受信トレイからメールを取得したいのです。

    でも当座は↑の環境下での運用で逃げる事になりましたので、一安心です。

    指定アカウント配下の受信トレイを捕まえる方法をご存じの方がいらっしゃいましたら、是非教えてください。

    とりあえずは一旦、解決といたします。

    ありがとうございました。

    2017年10月31日 10:44

すべての返信

  • 自己解決いたしました。、

    OUTLOOK > アカウント設定 > データファイル(タブ) で、指定したアカウントのデータファイルを"既定"に設定することで、
    GetDefaultFolder(6)により指定アカウントの受信トレイフォルダを取得できました。

    お騒がせ致しまして申し訳ありませんでした。

    ただできれば、OUTLOOK側の設定変更なしで、指定アカウント配下の受信トレイからメールを取得したいのです。

    でも当座は↑の環境下での運用で逃げる事になりましたので、一安心です。

    指定アカウント配下の受信トレイを捕まえる方法をご存じの方がいらっしゃいましたら、是非教えてください。

    とりあえずは一旦、解決といたします。

    ありがとうございました。

    2017年10月31日 10:44
  • 調べただけで検証していませんが、以下の感じでできないでしょうか?

    For Each acc In Application.Session.Accounts
        If acc ="hoge@fuga.com" then
            Set f = acc.DeliveryStore.GetDefaultFolder(6)
                 ・
                 ・
        end if
    next
    (参考)
    VBA to select mailbox if an account has multiple mailbox's
    https://stackoverflow.com/questions/33953386/vba-to-select-mailbox-if-an-account-has-multiple-mailboxs


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2017年11月1日 0:58
    モデレータ