Read Outlook Mail Item From Value

  • Thread starter andjbird via OfficeKB.com
  • Start date
A

andjbird via OfficeKB.com

I want to be able to read an Outlook Inbox mail message 'From' value to
enable me to automatically move the Inbox mail item into a corresponding
folder in the 'Personal Folder' folder. Also, if the corresponding folder
does not exist, create a folder using the senders name.

I have the following script that iterates through the items in the 'Inbox',
but I am unable to identify the senders name from the mail items as used in
the script. Does anyone have a method which I can use to proceed with this.

Private Sub Application_NewMail()

Dim InputFolder As Outlook.MAPIFolder
Set InputFolder = Application.GetNamespace("MAPI").GetDefaultFolder
(olFolderInbox)
Dim intCount As Integer

For intCount = 1 To InputFolder.Items.Count
'If InputFolder.Items(intCount).UnRead = True Then 'Read out the
unread mail in Inbox.

If InputFolder.Items(intCount).UnRead = True Then

MsgBox InputFolder.Items(intCount).Subject
MsgBox InputFolder.Items(intCount).Body

End If

Next intCount

End Sub

e.g. I have tried to reference the senders name using 'InputFolder.Items
(intCount).From', but the system does not recognise this. Also, for some
Inbox items the Debug displays that the 'InputFolder.Items(intCount)' object
does not contain any variables.

I look forward to receiving any suggestions.
 
S

Sue Mosher [MVP]

The object browser (F2 in VBA) is your friend. If you used it, you'd soon
see that the MailItem object has no From property, but does have a
SenderName property.

This would be a better For ... Next loop to gather information about items
in a folder:

For Each itm in InputFolder.Items
' do stuff with the itm
If itm.UnRead = True Then
etc.
End If

However, if you plan to move or delete items, then you need to use a
down-counting loop.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top