【发布时间】:2020-07-04 11:05:13
【问题描述】:
我有以下宏,我正在从 Outlook 导入电子邮件。该宏仅从收件箱文件夹中导入电子邮件,
我希望宏通过收件箱文件夹的subfolders(所以没有已发送的项目等,但仅收件箱文件夹的sub folders)。
Sub GetFromOutlook()
Dim OutlookApp As Outlook.Application
Dim OutlookNamespace As Namespace
Dim Folder As MAPIFolder
Dim OutlookMail As Variant
Dim i As Integer
Dim objMail As Outlook.MailItem
Dim objFlaggedMail As Outlook.MailItem
Application.ScreenUpdating = False
Set OutlookApp = New Outlook.Application
Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
Set olShareName = OutlookNamespace.CreateRecipient("shared_mailbox_name")
Set Folder = OutlookNamespace.GetSharedDefaultFolder(olShareName, olFolderInbox)
Range("A:I").ClearContents
Range("A3").Value = "Subject"
Range("B3").Value = "Date"
Range("C3").Value = "Sender"
Range("D3").Value = "Category"
Range("E3").Value = "Mailbox"
i = 4
On Error Resume Next
For Each OutlookMail In Folder.Items
Range("A" & i).Value = OutlookMail.Subject
Range("B" & i).Value = OutlookMail.ReceivedTime
Range("C" & i).Value = OutlookMail.SenderName
Range("D" & i).Value = OutlookMail.Categories
Range("E" & i).Value = OutlookMail.Folder
在 E 列中,我想写下它接收电子邮件的文件夹的名称......
所以其他列已经可以了,但是通过这种方式,我想如果它是从收件箱文件夹复制的,那么在E column它会写收件箱,但是如果它是从Subfolder1复制的,那么它会写SUbfolder1等等……
我应该如何处理这个问题?
【问题讨论】: