0

3 つのデータ ファイルがあります。

  1. Outlook データ ファイル (空です)
  2. Gmail データ ファイル (私の Gmail pop3 から)
  3. Yahoo データ ファイル (私の yahoo imap から)

次のコードを使用して、Outlook データ ファイルの受信トレイ (常に空で、Google および Yahoo アカウントから Outlook データ ファイルに自動的に移動する方法がわからない) にアクセスできます。

Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.
     ActiveExplorer().Session.GetDefaultFolder
     (Outlook.OlDefaultFolders.olFolderInbox);

2 つの質問があります。

  1. Gmail と Yahoo アカウントを自動的に Outlook データ ファイルに移動するにはどうすればよいですか?
  2. gmail と yahoo アカウントで受信トレイにアクセスするためのコーディング方法を教えてください。

この関数を試して、MAPIFolder に戻りました。

public Outlook.MAPIFolder GetInbox(string userName)
    {
        Outlook.Application oOutlook = new Outlook.Application();
        Outlook.NameSpace oNs = oOutlook.GetNamespace("MAPI");
        Outlook.Recipient oRep = oNs.CreateRecipient(userName);
        Outlook.MAPIFolder inbox = oNs.GetSharedDefaultFolder(oRep, Outlook.OlDefaultFolders.olFolderInbox);
        return inbox;
    }

しかし、うまくいきませんでした。私を助けてください..

4

1 に答える 1

0

最初の質問がよくわかりません。すべてのデータ ファイルをメインの Outlook データ ファイルに結合しますか?

2 番目の質問について、Outlook データ ファイルは API のストアで表されます。Session オブジェクトで GetDefaultFolder を呼び出すと、常に既定のストアの既定のフォルダー (Outlook データ ファイルの受信トレイ) を取得することになります。

すべてのストア ファイルを一覧表示し、それらに対して GetDefaultFolder を使用して、各ストア/データ ファイルの受信トレイ フォルダーを取得できます。

Outlook.Stores stores = this.Appliction.Session.Stores;
foreach( Store store in stores )
{
   Outlook.Folder inboxOfStore = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

   //Do stuff with your inbox folder.. Check store properties for infomation on which data file this store represents
}

詳細については、ドキュメントを参照してください。

http://msdn.microsoft.com/en-us/library/office/bb176405%28v=office.12%29.aspx

于 2013-08-21T11:09:48.203 に答える