Господа, подскажите плз как перебрать (на VBA) все письма во всех папках в pst файле (кроме sent items - нужны только входящие письма)?
Из каждого входящего письма нужно взять имя отправителя.
Public Sub ListFolders()
Dim oOutlook As New Outlook.Application
Dim oNamespace As Outlook.NameSpace
Dim oChildFolder As Outlook.MAPIFolder
Set oNamespace = oOutlook.GetNamespace("MAPI")
Dim oFolder As Outlook.MAPIFolder
Set oFolder = Application.Session.GetDefaultFolder(olFolderInbox)
For Each oChildFolder In oFolder.Parent.Folders
DoFolder oChildFolder
Next
End Sub
Public Sub DoFolder(ByVal oFolder As MAPIFolder)
Dim oChildFolder As Outlook.MAPIFolder
For Each oChildFolder In oFolder.Folders
Debug.Print oChildFolder.Name & " - " & oChildFolder.Parent
DoFolder oChildFolder
Next
End Sub
If TypeOf oMailItem Is olMailItem Then
dim myvar as object
myvar = application.session.getdefaultfolder(olfolderinbox).items(0)
if typeof myvar is mailitem then msgbox("Oh fuck, it's an email!")
For Each oMailItem In oChildFolder.Items
Debug.Print oMailItem.Subject & " / " & oMailItem.SenderName & " (" & oChildFolder.Name & " - " & oChildFolder.Parent & ")"
Dim oMailItem As Outlook.MailItem
...
For Each oMailItem In oChildFolder.Items
Dim oMailItem As Object
...
For Each oMailItem In oChildFolder.Items
If TypeOf oMailItem Is MailItem And Not oMailItem Is Nothing Then
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79