tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルOEの指定したフォルダ内のメールを取得
記事No8907
投稿日: 2009/05/01(Fri) 20:10
投稿者チャッピーヌ
環境:WinXp(SP3)+VB2005、Outlook Express 6

MAPIを使用して
Outlook Express 6の特定のフォルダのメールの情報を
読み取りたいと思っています。

以下のソースでは「受信トレイ」のメールについては読み取りできるのですが、
独自に作成したユーザーが独自に作成したメールフォルダの中のメールの内容を
どのように取得すればいいのか悩んでおります。

    Dim mapiSess As New MSMAPI.MAPISession
    Dim mapiMess As New MSMAPI.MAPIMessages

  mapiSess.UserName = "Outlook"
  mapiSess.Password = ""
  mapiSess.DownLoadMail = False
  mapiSess.LogonUI = True
  mapiSess.NewSession = True
  If mapiSess.SessionID = 0 Then
    mapiSess.SignOn()
  End If

  mapiMess.SessionID = mapiSess.SessionID
  mapiMess.FetchSorted = True        
  mapiMess.FetchUnreadOnly = False
  mapiMess.Fetch()

  For i As Integer = 0 To (mapiMess.MsgCount - 1)
      mapiMess.MsgIndex = i

        ※ここで、読み取った内容を変数に入れたりする
  Next

    mapiSess.SignOff()

例えば「今日の注文」というフォルダがあるとすると、
そのフォルダへどのように参照するとよいのでしょうか?


お分かりの方、宜しくお願い致します…

[ツリー表示へ]
タイトルRe: OEの指定したフォルダ内のメールを取得
記事No8908
投稿日: 2009/05/02(Sat) 01:53
投稿者オショウ
> MAPIを使用して
> Outlook Express 6の特定のフォルダのメールの情報を
> 読み取りたいと思っています。

  あくまでヒント

  http://billyboy.blog81.fc2.com/blog-entry-128.html

  ここから類推して多分できるでしょう。

以上。

[ツリー表示へ]
タイトルRe^2: OEの指定したフォルダ内のメールを取得
記事No8909
投稿日: 2009/05/02(Sat) 05:04
投稿者チャッピーヌ
オショウ様、ありがとうございます。

私自身もネットで検索してはみたのですが、
このGetDefaultFolderメソッドを使う場合のサンプルは、
「OutlookExpress」ではなく「Outlook」の場合に対しての記述がほとんどで…。
(解釈が違っていたらすみません)

GetDefaultFolder()に参照したいフォルダの定数を指定して…
というのは各サンプルの説明を見るとわかるのですが、
現状ですとこのメソッドも出てこないですし…
正直、どう手をつけてよいかわからなくなっています。


ちなみに、現在参照しているコンポーネントは
「Microsoft MAPI Controls 6.0」のみです。

[ツリー表示へ]
タイトルRe^3: OEの指定したフォルダ内のメールを取得
記事No8910
投稿日: 2009/05/02(Sat) 16:39
投稿者オショウ
> 「OutlookExpress」ではなく「Outlook」の場合に対しての記述がほとんどで…。

  そのようですネ・・・

> ちなみに、現在参照しているコンポーネントは
> 「Microsoft MAPI Controls 6.0」のみです。

  APIを直接呼ぶ方法ではどうでしょうか?

※ 私はAPIを直接使ってやったことありましたが、今回のように
  既に受信して振り分けされた後のメッセージを取得するような
  ことは、残念ながらやったことはありません。

以上。

[ツリー表示へ]
タイトルRe^3: OEの指定したフォルダ内のメールを取得
記事No8911
投稿日: 2009/05/03(Sun) 02:53
投稿者オショウ
追伸
Outlook Express を使うには、Simple MAPI の方を使います。

CDO、簡易 MAPI と拡張 MAPI の違い
http://support.microsoft.com/kb/200018/ja

http://msdn.microsoft.com/ja-jp/library/cc421157.aspx

機能的に使用するAPIが限定されますので、お気をつけ下さい。

以上。

[ツリー表示へ]