我写了这段代码:
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的原生函数一起工作:)
答案 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