PDA

View Full Version : Delete emails that have been replied to, via script



jinjay
02-17-2009, 07:53 AM
Hey Guys,

I'm new to this forum so if i miss anything, apologizes.

I am working in outlook 2003, my goal is to write a code to be able to delete a message once it has been replied to. I have archived this with the following code:-
but now i need to edit this so it only works with a certain subject heading and not every email. Please help

can the code be change so it deletes on predefined subject heading upon hitting reply. at the moment it is deleting any message that is replied to.

Option Explicit
Private WithEvents ReplyButton As Office.CommandBarButton
Private WithEvents m_Inspectors As Outlook.Inspectors
Private m_Mail As Outlook.MailItem

Private Sub Application_Startup()
Set ReplyButton = Application.ActiveExplorer.CommandBars.FindControl(, 354)
Set m_Inspectors = Application.Inspectors
End Sub

Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
On Error Resume Next
If Not m_Mail Is Nothing Then
m_Mail.Delete
Set m_Mail = Nothing
End If
End Sub

Private Sub ReplyButton_Click(ByVal Ctrl As Office.CommandBarButton, _
CancelDefault As Boolean _
)
On Error Resume Next

If TypeOf Application.ActiveWindow Is Outlook.Explorer Then
Set m_Mail = Application.ActiveExplorer.Selection(1)
Else
Set m_Mail = Application.ActiveInspector.CurrentItem
End If
End Sub




I am trying to change the following code so it only deleted

JP2112
02-19-2009, 07:34 PM
You'd need to update your event code so it checks the subject before deleting. Something like

Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
On Error Resume Next
If Not m_Mail Is Nothing Then
If m_Mail.Subject <> "Don't delete me!" Then
m_Mail.Delete
End If
End If
Set m_Mail = Nothing
End If
End Sub

jinjay
02-20-2009, 04:28 AM
You'd need to update your event code so it checks the subject before deleting. Something like

Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
On Error Resume Next
If Not m_Mail Is Nothing Then
If m_Mail.Subject <> "Don't delete me!" Then
m_Mail.Delete
End If
End If
Set m_Mail = Nothing
End If
End Sub

perfect it works, thanks for the info. I had to make minor adjustments to make it work, changed the <> to = and there is one extra end if in the statement
Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
On Error Resume Next
If Not m_Mail Is Nothing Then
If m_Mail.Subject = "Don't delete me!" Then
m_Mail.Delete
End If
Set m_Mail = Nothing
End If
End Sub