1

我写了这段代码:

Set oOutlook = CreateObject("Outlook.Application")
Set oMAPI = oOutlook.GetNameSpace("MAPI")
WScript.Sleep 3000

For Each oStore In oMAPI.Stores
    If oStore.ExchangeStoreType = 1 Then
        MsgBox oStore.DisplayName
    End If
Next

它为我提供了 Outlook 2010 中所有其他邮箱的名称。如果我将交换存储类型设置为 3,那么它将返回所有当前使用的 PST 名称。

我想为 Outlook 2003 实现相同的功能(仅显示名称)。

不幸的是,在 2003 年,商店对象不存在。

我已经搜索了互联网,并为此找到了相当复杂的“解决方案”。我试图复制其中的一些,但从未真正接近成功。我想要的只是附加邮箱和 PST 文件的显示名称......就是这样,在 Outlook 2003 中。

现在我的问题是:
- 这可能在 XP / Outlook 2003 下实现吗?
- 如果 PST 文件太复杂,我可以使用其他邮箱

我提前谢谢你!这对我来说是一件非常重要的事情:) 所以我会很感激任何帮助。

我不需要完整的解决方案,但也许有知识的人可以帮助我了解关键事实(对象、方法......)

我已经阅读了有关包装器等的信息,但这是我负担不起的东西(仅限免费软件),而且我从未使用过。我祈祷它可以与 Oulook 的本机功能一起使用 :)

4

1 回答 1

0

我认为这就是你想要的:

Sub GetMailBoxNames()

  Dim olApp As Outlook.Application
  Dim olNS As Outlook.NameSpace
  Dim i As Long

  Set olApp = Outlook.Application
  Set olNS = olApp.GetNamespace("MAPI")

  For i = 1 To olNS.Folders.Count
    Debug.Print olNS.Folders(i).name
  Next i

End Sub
于 2013-10-25T18:23:11.567 回答