View Single Post
  #8  
Old June 18th 07, 11:22 PM posted to microsoft.public.outlook.program_vba
Eric Legault [MVP - Outlook]
external usenet poster
 
Posts: 830
Default Using SenderEmailAddress

Sorry, use this:

Items.Sort "[ReceivedTime]", True

It's ItemAdd - my mistake.

The ThisOutlookSession module is a "built-in" module. Here's a great
article that shows how to use module event variables when trapping new mail
(it'll work for 2003):

How to create a custom rule using Visual Basic for Applications (VBA) in
Outlook 2002:
http://support.microsoft.com/default...en-us%3b292063

--
Eric Legault - Outlook MVP, MCDBA, MCTS (SharePoint programming, etc.)
Try Picture Attachments Wizard for Outlook:
http://www.collaborativeinnovations.ca
Blog: http://blogs.officezealot.com/legault/


"BrianL" wrote:

when I used Items.Sort("[ReceivedTime]", True), I got a compile error. It
turns out that my Outlook gets mad when I use the ( )'s. aslo, I could not
find Item_add in any microsoft support files. hmm, does Eric have his own
coding language? I have 2003 so I can't see why there would be differences in
our Outlooks.

I havn't ever used a Module but I imagine I could learn it in 5 days or less
like I did forms and Outlooksessions. Trapping them would be a good thing for
me though. How would that work? I'll start researching Modules and how to
code them while I await your responce.

Thanks

~Brian

"Eric Legault [MVP - Outlook]" wrote:

Your code should work - good job!

Note that setting myMailItem doesn't select anything - you are merely
getting a handle to the object. There is also on way with Outlook
programming to select anything - that's always up to the user.

If you want to trap e-mails as they arrive, check out Item_Add in VBA help.
This is an event for an Items collection that you get for a specific
MAPIFolder. So if you want to trap e-mails that come into your Inbox, get
that MAPIFolder object, then get the Items collection, then set a module
level variable using the With Events keyword for that Items collection. Ping
me if you want to do it this way and need more help.

Otherwise, to get a handle to e-mails that already exist - and not worrying
about trapping them as they arrive - use Items.Sort("[ReceivedTime]", True).
That *should* put the newest item at the first position within the collection.

As for getting messages by certain properties, such as Unread or
FlagRequest, use Items.Restrict("[PROPERTYNAME] = 'PROPERTY VALUE'") to
filter the collection.


Ads