Экспорт электронной почты из подпапки Outlook в Excel


0

Я нашел макрос VBA, который отправляет сообщения электронной почты из Outlook и помещает их в ячейки Excel. Код работает, но я хочу сказать Excel только для получения электронной почты из определенной подпапки. В моей папке «Входящие» у меня есть подпапка под названием «Информация». Я хочу иметь возможность получать электронные письма из этой подпапки.

Это код, который я сейчас:

Sub Download_Outlook_Mail_To_Excel() 
'Add Tools->References->"Microsoft Outlook nn.n Object Library" 
'nn.n varies as per our Outlook Installation 
Dim folders As Outlook.folders 
Dim folder As Outlook.MAPIFolder 
Dim iRow As Integer 
Dim Pst_Folder_Name 
Dim MailboxName 



'Mailbox or PST Main Folder Name (As how it is displayed in your Outlook Session) 
MailboxName = "My email address" 

'Mailbox Folder or PST Folder Name (As how it is displayed in your Outlook Session) 
Pst_Folder_Name = "Inbox" 

Set folder = Outlook.Session.folders(MailboxName).folders(Pst_Folder_Name) 
If folder = "" Then 
    MsgBox "Invalid Data in Input" 
    GoTo end_lbl1: 
End If 

'Rad Through each Mail and export the details to Excel for Email Archival 
Sheets(1).Activate 

For iRow = 1 To folder.Items.Count 
    Sheets(1).Cells(iRow, 1).Select 
    Sheets(1).Cells(iRow, 1) = folder.Items.Item(iRow).SenderName 
    Sheets(1).Cells(iRow, 2) = folder.Items.Item(iRow).Subject 
    Sheets(1).Cells(iRow, 3) = folder.Items.Item(iRow).ReceivedTime 
    Sheets(1).Cells(iRow, 4) = folder.Items.Item(iRow).Size 
    Sheets(1).Cells(iRow, 5) = folder.Items.Item(iRow).SenderEmailAddress 
    'Sheets(1).Cells(iRow, 6) = Folder.Items.Item(iRow).Body 
Next iRow 
MsgBox "Outlook Mails Extracted to Excel" 

end_lbl1: 

End Sub 

Как я могу убедиться, что он получает письма из вложенной папки, а не Главная папка?

  0

Лучший способ получить помощь здесь - это сначала попробовать что-то. Если вы застряли, сделайте некоторые исследования, сделайте попытку исправить вещи самостоятельно, и только тогда задайте конкретный вопрос о своих попытках, показывая, что вы пробовали. Вопросы, требующие полных решений без демонстрации исследовательских усилий, обычно закрываются и закрываются. 09 мар. 152015-03-09 12:23:15

  0

@ Jean-FrançoisCorbett Спасибо за разъяснение. Я новичок в этом и был просто расстроен тем, что мои смущающие попытки не сработали. Спасибо, что нашли время, чтобы сделать это понятным для меня, теперь я вижу, что мой вопрос, казалось, хотел, чтобы кто-то выполнял эту работу для меня, а не пробовал себя. 09 мар. 152015-03-09 14:39:59

2

Попробуйте использовать следующий код:

'Mailbox or PST Main Folder Name (As how it is displayed in your Outlook Session) 
MailboxName = "My email address" 

'Mailbox Folder or PST Folder Name (As how it is displayed in your Outlook Session) 
Pst_Folder_Name = "Inbox" 

' subfolder name 
Dim subFolderName As String 
subFolderName = "Info" 

Set folder = Outlook.Session.folders(MailboxName).folders(Pst_Folder_Name).Folders(subFoldersName) 
If folder = "" Then 
    MsgBox "Invalid Data in Input" 
    GoTo end_lbl1: 
End If 

Также вы можете рассмотреть возможность использования GetDefaultFolder метода класса пространств имен, чтобы получить объект Folder, представляющий папку по умолчанию запрашиваемого типа для текущего профиля.

  0

Большое вам спасибо! Кажется, сейчас просто, когда я вижу это - я пытался с перечислением папок и вещей, которые на самом деле не имели для меня большого смысла, поэтому спасибо за вашу помощь. Я сошел с ума по этому поводу. 09 мар. 152015-03-09 14:38:19

  0

Могу ли я получить список журналов журнала на определенную дату из перспективы на основе условия 23 мар. 162016-03-23 06:56:11