Catch delete in MailItem_Close event

A

|{arl Shtoshek

Hi, All!

Is there ANY way to determine if the MailItem is being deleted in its
MailItem_Close event?

I'm doing a check whether the MailItem is changed and if it is, I
display the "Do you want to save changes?" dialog (with a
MsgBox(...)). If the user chooses "Yes", I call Inspector.Close
olSave. Here "Inspector" is the wrapper class which contains the
MailItem object.

The problem is - if the MailItem is changed, but is being deleted, I'm
displaying the "do you want to save changes" dialog anyway, because I
don't know that it's being deleted.

I'm using VB6 and developing for OL2000

The code looks somewhat like this:

Private Sub m_objMail_Close(Cancel As Boolean)
Dim iRetVal As Integer

If m_objMail.Saved = False Then

'Here I would like to know if m_objMail is being deleted

iRetVal = MsgBox("Save changes?", vbYesNoCancel)
Select Case iRetVal
Case vbYes
m_objInsp.Close olSave
Case vbNo
m_objInsp.Close olDiscard
Case vbCancel
Cancel = True
End Select
Else
m_objInsp.Close olDiscard
End If

End Sub

TIA,
Karls
 
K

Ken Slovak - [MVP - Outlook]

You could trap ItemAdd in the Deleted Items folder's Items collection but
I'm not sure if that would happen before Item_Close or during or after, and
it wouldn't fire if the user hard-deleted the item using Shift+Delete.
There's really no good way to do what you want but you can experiment with
the timing of the ItemAdd event to see if it does anything at all for you.
 

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