0

Exchange 2003では、次のコードを実行できます。

VB6およびMAPICDO1.2.1の使用

Private Sub Command1_Click()
    Dim objSession As MAPI.Session
    Set objSession = CreateObject("MAPI.Session")
    strProfileInfo = myExcServer & vbLf & myExcAlias
    objSession.Logon ProfileInfo:=strProfileInfo
    For Each nfo In objSession.InfoStores
        Text1.Text = Text1.Text & "nfo.Name: " & nfo.Name & vbNewLine
        Text1.Text = Text1.Text & "nfo.RootFolder.Name: " & nfo.RootFolder.Name & vbNewLine
    Next
    Set objMessage = Nothing
    Set objInbox = Nothing
    objSession.Logoff
    Set objSession = Nothing
End Sub

私は得る:

nfo.Name: Public Folders
nfo.RootFolder.Name: IPM_SUBTREE
nfo.Name: Mailbox - pperez pperez
nfo.RootFolder.Name: Top of Information Store

ただし、Exchange 2010で実行しようとしていますが、エラーが発生します。

nfo.Name: Public Folders
Run-time error '-2147221219 (8004011D)':
[Collaboration Data Objects - [MAPI_E_FAILONEPROVIDER(8004011D)]]

例外は、ルートフォルダnfo.RootFolder.Nameへの参照でのみスローされます。

このプロパティは2010年にサポートされていませんか?

どんなアドバイスでも大歓迎です、ありがとう。

4

2 に答える 2

1

Exchange 2010に実際にPFストアがあることを確認しますか?ストアをループする前に、最初にデフォルトストアにアクセスしてみてください(たとえば、受信トレイフォルダー名を読み取ってください)。これにより、CDO 1.21がサーバーにヒットし、PFストアがないことがわかります。

于 2012-05-08T06:27:55.410 に答える
0

@Dmitry Streblechenkoは正しかった、私はPFを追加しただけで、それは機能した。

New-PublicFolderDatabase "Public Folders" -Server $MyServer
Mount-Database "Public Folders"
于 2012-05-08T19:12:11.720 に答える