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.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
"andjbird via OfficeKB.com" u5428@uwe wrote in message
news:95a0af3783ab0@uwe...
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.