使用Visual Basic在收件箱中访问子文件夹?
-
26-10-2019 - |
题
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set myOlItems = objNS.GetDefaultFolder(olFolderInbox).Items
我已经使用了上面的代码访问主要的Outlook收件箱,但是如何在收件箱中访问文件夹以及使用VBA的邮件!
解决方案
那很近:)
要在收件箱下的文件夹中获取所有邮件项目,请尝试此尝试
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim msg As Outlook.MailItem
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("Temp")
For Each msg In olFolder.Items
Debug.Print msg.Subject
Next
其他提示
我发现我的收件箱中有一些项目不是邮寄物品,导致脚本停止。如果找到会议邀请函,则可以使脚本保持运行:
Sub getmail()
Dim olApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
'Dim msg As Outlook.MailItem
Dim InboxItem As Object
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("temp")
For Each InboxItem In olFolder.Items
Debug.Print InboxItem.Subject
Debug.Print InboxItem.EntryID
Next
End Sub
感谢您的回答!帮助我很多!
(我的歉意 - 想发表评论,但没有足够的代表..)
为了进一步钻探,请继续添加设定的橄榄石线:
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set olFolder = olFolder.Folders("temp")
Set olFolder = olFolder.Folders("temp2")
Set olFolder = olFolder.Folders("temp3")
让您进入 inbox temp temp2 temp3
不隶属于 StackOverflow