2

Outlook の受信トレイから指定したフォルダーにメールを移動する必要がある Redemption を使用して Outlook アドインに取り組んでいます。ローカルメールボックス用になるまでは正常に機能します。共有メールボックスで同じことをしようとすると、私の見通しではうまくいきません。私の見通しでは、共有メールボックスにアクセスし、共有メールボックス「受信トレイ」から共有メールボックス自体のフォルダーにメールを移動しようとしています。

同じために以下のコードを使用します。

oTempFolder = oRDOSession.GetSharedMailbox("mailbox name")

次のエラーがスローされます: System.InvalidCastException: タイプ 'Redemption.RDOStoreClass' の COM オブジェクトをインターフェイス タイプ 'Redemption.RDOFolder' にキャストできません。IID '{15B8597F-0A55-4361-AE8B-1F690BC61EE4}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーにより失敗したため、この操作は失敗しました: No such interface supported (HRESULT からの例外: 0x80004002 (E_NOINTERFACE)) .

メールボックス名とメールボックスアドレスも入れてみましたが、何も役に立ちませんでした。

以下のコードを試してみました。ここはstackoverflow自体にあります

store = _session.Stores.GetSharedMailbox("Example shared mailbox ");

しかし、違いはありませんでした。

誰かが私をこれに案内してもらえますか?

4

1 に答える 1

1

少しの調査と試行の後、上記の質問に対する解決策を見つけました。以下のコード行は実際の始まりです。

store = _session.Stores.GetSharedMailbox("Example shared mailbox ");

以下は、検索する必要がある共有メールボックス内のフォルダーを検索するためのコードです。

 Dim Rclass As Redemption.RDOStore
 Dim oTempFolders As Redemption.RDOFolders    
 Dim oTempFolder As Redemption.RDOFolder          
 Rclass = oRDOSession.Stores.GetSharedMailbox(aFolders(0))

 oTempFolders = Rclass.IPMRootFolder.Folders

 For i = 1 To oTempFolders.Count

   oTempFolder2 = oTempFolders.Item(i)

   If oTempFolder2.Name.ToLower = "folder name" Then
       oTempFolder = oTempFolder2
       Exit For
   End If
 Next

これが、この問題に遭遇した人に役立つことを願っています。

于 2012-11-21T09:10:51.163 に答える