在Outlook 2003中,获取其他邮箱和PST的显示名称

时间:2013-07-25 12:37:00

标签: names outlook-2003 pst

我写了这段代码:

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中所有其他邮箱的名称。如果我将Exchange存储类型设置为3,则它将返回所有当前使用的PST名称。

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

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

我搜索了互联网,发现了相当复杂的“解决方案”。我试图重现其中一些,但从来没有真正接近成功。 我想要的只是在Outlook 2003中显示的其他邮箱和PST文件的名称......就是这样。

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

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

我不需要一个完整的解决方案,但可能有知识的人可以帮助我掌握关键事实(对象,方法......)

我已经阅读过有关包装等等但它是我无法承受的东西(只有免费软件)而且我从未使用过。我指出它与Oultook的原生函数一起工作:)

1 个答案:

答案 0 :(得分: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