MailItem Close Event

  • Thread starter Thread starter Robert Morley
  • Start date Start date
R

Robert Morley

Hi all,

I have a MailItem object (technically via Redemption, but as far as I can
tell, it works the same with the "normal" object library as well), which I'm
displaying on screen with the Display method. I'm monitoring the Close
event to determine if the message is not being sent. I need to find some
way of determining whether the user has clicked Cancel to the "Do you want
to save changes?" dialog and the message is really still open. Is there
some way I can do this? I've looked around most of the properties,
including the various GetInspector properties, and I can't seem to find
ANYTHING that's different whether I click "Cancel" or "No" when prompted.

Or better yet, is there an easy way to open an object with Display, then
determine when the message has been finalized (i.e., sent or truly closed)?



Thanks,
Rob
 
You will get either the MailItem's Send event or its Inspector's Close
event.

Another possibility is that the user deletes the message. Then the
MailItem's BeforeDelete fires after the user had the chance to cancel. That
event is available sinve OL XP.

--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
Quick-Cats - Categorize Outlook data:
http://www.vboffice.net/product.html?id=2006063&cmd=detail&lang=en&pub=6

Am Wed, 18 Apr 2007 16:04:53 -0400 schrieb Robert Morley:
 
But what's happening is that the Close event is firing *before* the
Yes/No/Cancel question is answered. So if the user says Cancel, then sends
the message, I've already processed the Close event. How can I tell, either
during the Close event or immediately afterwards, whether the message was
actually closed or if it's still on-screen?


Rob
 
What other events fire when an item is closed, but not saved? I couldn't
find anything that fired and was distinguishable.



Rob
 
Just to give you a better idea of what I'm trying to accomplish, I'm
creating a new e-mail and populating the subject, body, etc., then
displaying it on-screen. I then need to wait (indefinitely) until one of
three things occurs, and determine with absolute certainty which one it was:
the e-mail is sent; the e-mail is saved but not sent, the e-mail is
cancelled without being saved or sent.

It's those last two that're causing the big headache, since the Close event
happens before the Save Yes/No/Cancel question is asked. That means I have
no way of determining what actually happened to the outgoing e-mail after
that point.

I've tried monitoring the "BeforeDelete" event, but it doesn't fire if the
message is new (whether or not I save it before-hand).



Thanks,
Rob
 
A-ha!

Okay, after poking around a bit, I've determined that what I need to do is
to monitor the Inspector's Close event, not the MailItem's Close event.
That will tell me deterministically when the window has been closed, and
from that point, I can determine what actually happened to the item by
looking at its Saved property, which will be either True, False, or raise an
error if the item has been sent successfully.

Thanks for trying to help me out. I appreciate your efforts.



Rob
 
Sorry, looking back, you had pointed me to the Inspector's Close event in
your very first response; I hadn't picked up on it, and thought you were
still referring to the MailItem's Close event. My bad!



Rob
 
What's funny about all this is that it seems that whatever reason I had for
not using a modal display is no longer applicable, and I'm going through all
this effort for nothing. <sigh!>


Rob
 
Back
Top