ideprize
08-06-2011, 02:51 PM
The code below works continuously without problem. If the "cleanup" section is activated (comment status removed) the event fires only once?
Option Explicit
Public WithEvents myOlItems As Outlook.Items
Public Sub Initialize_handler()
Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Class_Terminate()
Set myOlItems = Nothing
End Sub
Public Sub myOlItems_ItemAdd(ByVal objItem As Object)
Dim strDte As String
Dim strTim As String
Dim strCmpy As String
Dim strRecip As String
Dim strSubject As String
Dim objSenderAE As redemption.AddressEntry
Dim objSmail As redemption.SafeMailItem
Dim intShRtn As Double
Dim strStr1 As String
Dim strUsr As String
Set objSmail = CreateObject("Redemption.SafeMailItem")
objSmail.Item = objItem
strRecip = objSmail.To 'Recipient
If Trim(UCase(strRecip)) = "XXXXX@YYYY.COM" Then
Set objSenderAE = objSmail.Sender
strCmpy = objSenderAE.Address 'sender
strSubject = Replace(objItem.Subject, " ", "##")
strDte = Date
strTim = FormatDateTime(Time, vbShortTime)
strUsr = Environ$("username")
strStr1 = "SOME PATH\sir.exe "
strStr1 = strStr1 + strCmpy + " " + _
strDte + " " + strTim + " " + strSubject + " " + _
strUsr
intShRtn = Shell(strStr1, vbMinimizedNoFocus)
'MsgBox ("shell job id is " + Str(intShRtn))
End If
' CLEANUP
'if not objSenderAE is nothing then
'set objSenderAE = nothing
'end if
'set objSmail = nothing
'set objItem = nothing
End Sub
Thanks in advance.
Option Explicit
Public WithEvents myOlItems As Outlook.Items
Public Sub Initialize_handler()
Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Class_Terminate()
Set myOlItems = Nothing
End Sub
Public Sub myOlItems_ItemAdd(ByVal objItem As Object)
Dim strDte As String
Dim strTim As String
Dim strCmpy As String
Dim strRecip As String
Dim strSubject As String
Dim objSenderAE As redemption.AddressEntry
Dim objSmail As redemption.SafeMailItem
Dim intShRtn As Double
Dim strStr1 As String
Dim strUsr As String
Set objSmail = CreateObject("Redemption.SafeMailItem")
objSmail.Item = objItem
strRecip = objSmail.To 'Recipient
If Trim(UCase(strRecip)) = "XXXXX@YYYY.COM" Then
Set objSenderAE = objSmail.Sender
strCmpy = objSenderAE.Address 'sender
strSubject = Replace(objItem.Subject, " ", "##")
strDte = Date
strTim = FormatDateTime(Time, vbShortTime)
strUsr = Environ$("username")
strStr1 = "SOME PATH\sir.exe "
strStr1 = strStr1 + strCmpy + " " + _
strDte + " " + strTim + " " + strSubject + " " + _
strUsr
intShRtn = Shell(strStr1, vbMinimizedNoFocus)
'MsgBox ("shell job id is " + Str(intShRtn))
End If
' CLEANUP
'if not objSenderAE is nothing then
'set objSenderAE = nothing
'end if
'set objSmail = nothing
'set objItem = nothing
End Sub
Thanks in advance.