ItemAdd Macro - multiple emails

Outlook version
Outlook 2010 64 bit
Email Account
IMAP
I have ItemAdd macro in ThisOutlookSession, which monitors a folder that is receiving emails based on a rule running on the inbox. The ItemAdd has code that a) edits the incoming email and saves it, b) creates an automated reply based on a template and c) triggers another macro in a Module which saves details to Excel.
This all works perfectly if one email comes in and is processed before another one arrives. The issue is that if more than one email arrives almost simultaneously, the first email is processed but the other ones are not (my work around is to drag the unprocessed ones to trash and then back to the relevant folder).
It would be neat to solve this issue.
For information, I have used error catching:
Private Sub objItems_ItemAdd(ByVal Item As Object)
On Error GoTo objItemsErr
......run code which also call another macro in a module
Exit Sub
objItemsErr:
MsgBox "objItemsError #: " & Err.Number & vbCrLf & Err.Description
End Sub
Any thoughts/help would be appreciated?
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
>>
my work around is to drag the unprocessed ones to trash and then back to the relevant folder).
>>
Copy and paste in place. Ctr+C, V then Delete.


>>
The issue is that if more than one email arrives almost simultaneously,
>>
Itemadd should be able to handle 2 at a time - maybe not 4 or 5 though.


Instead of
Private Sub objItems_ItemAdd(ByVal Item As Object)
On Error GoTo objItemsErr
......run code which also call another macro in a module
[-- snip --]
End Sub

put the code in separate macros. If you are closing excel, leave it open - it will be faster.

Private Sub objItems_ItemAdd(ByVal Item As Object)
On Error GoTo objItemsErr
firstmacro item
[-- snip --]
End Sub

sub firstmacro (ByVal Item As Object)
'do whatever
secondmacro item
end sub
 
Outlook version
Outlook 2010 64 bit
Email Account
IMAP
>>
my work around is to drag the unprocessed ones to trash and then back to the relevant folder).
>>
Copy and paste in place. Ctr+C, V then Delete.


>>
The issue is that if more than one email arrives almost simultaneously,
>>
Itemadd should be able to handle 2 at a time - maybe not 4 or 5 though.


Instead of
Private Sub objItems_ItemAdd(ByVal Item As Object)
On Error GoTo objItemsErr
......run code which also call another macro in a module
[-- snip --]
End Sub

put the code in separate macros. If you are closing excel, leave it open - it will be faster.

Private Sub objItems_ItemAdd(ByVal Item As Object)
On Error GoTo objItemsErr
firstmacro item
[-- snip --]
End Sub

sub firstmacro (ByVal Item As Object)
'do whatever
secondmacro item
end sub
Hi Diane
Itemadd was failing if more than one email arrived (i.e. 2 to 3 at a time) so if I can get it down to working for 2 that will be a great improvement.
My thinking had been to use Itemadd to trigger a loop through the folder being watched to identify emails needing processed, add the item.EntryID to a list in memory (so long as they are not moved the EntryID should work?), then process them individually.
I will try your recommendation. Will let you know how that goes.
Many thanks
 
Outlook version
Outlook 2010 64 bit
Email Account
IMAP
Hi Diane
Itemadd was failing if more than one email arrived (i.e. 2 to 3 at a time) so if I can get it down to working for 2 that will be a great improvement.
My thinking had been to use Itemadd to trigger a loop through the folder being watched to identify emails needing processed, add the item.EntryID to a list in memory (so long as they are not moved the EntryID should work?), then process them individually.
I will try your recommendation. Will let you know how that goes.
Many thanks
Hi Diane
I sorted it by moving the code from Itemadd to a separate macro that processed the email and used EntryID to pass the details as follows:
Private Sub objItems_ItemAdd(ByVal Item As Object)
Dim EntryID As String
With Item
'use Entry ID so long as the item is not moved folders
EntryID = .EntryID
'Call Macro
End With
End Sub
In the macro I used GetItemFromID - the point to note is that I did not need StoreID to retrieve the details, only the item's EntryID.
The remaining issue was that this macro then called another macro to save the data to Excel and I had stupidly put a Msgbox to confirm that the data had been saved. Once I removed the Msgbox, it ran sweetly
Many thanks for your help
 
Similar threads
Thread starter Title Forum Replies Date
Diane Poremsky How to use an ItemAdd Macro New Slipstick.com Articles 0
R Use an ItemAdd to Save Attachments on Arrival Outlook VBA and Custom Forms 0
oliv- Treat once an email with the ItemAdd event in a shared mailbox Outlook VBA and Custom Forms 2
A ItemAdd on Imap Folder get endless loop after saving item Using Outlook 5
B ItemAdd event not functioning - not triggering. Outlook VBA and Custom Forms 2
R outlook 2007 itemadd event handler fails to run Outlook VBA and Custom Forms 2
N Help creating a VBA macro with conditional formatting to change the font color of all external emails to red Outlook VBA and Custom Forms 5
S Visual indicator of a certain property or to show a macro toggle Outlook VBA and Custom Forms 2
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
S Macro to extract and modify links from emails Outlook VBA and Custom Forms 3
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 8
S Macro for Loop through outlook unread emails Outlook VBA and Custom Forms 2
S Macro to extract email addresses of recipients in current drafted email and put into clipboard Outlook VBA and Custom Forms 2
witzker HowTo start a macro with an Button in OL contact form Outlook VBA and Custom Forms 12
witzker Macro to move @domain.xx of a Spammail to Blacklist in Outlook 2019 Outlook VBA and Custom Forms 7
S Macro for other actions - Outlook 2007 Outlook VBA and Custom Forms 23
C Macro to extract sender name & subject line of incoming emails to single txt file Outlook VBA and Custom Forms 3
L Macro/VBA to Reply All, with the original attachments Outlook VBA and Custom Forms 2
S Macro to move “Re:” & “FWD:” email recieved the shared inbox to a subfolder in outlook Outlook VBA and Custom Forms 0
S Outlook Macro to send auto acknowledge mail only to new mails received to a specific shared inbox Outlook VBA and Custom Forms 0
S Outlook Macro to move reply mail based on the key word in the subjectline Outlook VBA and Custom Forms 0
Eike Move mails via macro triggered by the click of a button? Outlook VBA and Custom Forms 0
S Macro or plug-in to see if specific person was included in this email Outlook VBA and Custom Forms 4
U Macro for reminders,tasks,calendar Outlook VBA and Custom Forms 4
V macro runs slower on startup than after Outlook VBA and Custom Forms 3
N Macro to move all recipients to CC while replying Outlook VBA and Custom Forms 0
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
G VBA Macro Calendar Printing Assistant 4
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
M Outlook macro to automate search and forward process Outlook VBA and Custom Forms 6
R Macro Schedule every day in Outlook Using Outlook 0
L Moving emails with similar subject and find the timings between the emails using outlook VBA macro Outlook VBA and Custom Forms 1
Healy Consultants Macro to remove inside organization distribution list email address when reply to all recepients Outlook VBA and Custom Forms 0
geofferyh Cannot get Macro to SAVE more than one message attachment??? Outlook VBA and Custom Forms 5
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
4 Macro to set the category of Deleted Item? Outlook VBA and Custom Forms 2
D.Moore Folder view settings by VBA macro Outlook VBA and Custom Forms 57
A Outlook macro to create search folder with mail categories as criteria Outlook VBA and Custom Forms 3
Dave A Run macro on existing appointment when it changes Outlook VBA and Custom Forms 1
V Outlook Macro to show Flagged messages Outlook VBA and Custom Forms 2
O Run macro automatically at sending an email Using Outlook 11
R Retain Original Message When Forwarding With Macro Outlook VBA and Custom Forms 3
C Macro to add multiple recipients to message Outlook VBA and Custom Forms 3
B Reply and replyall macro is not working Outlook VBA and Custom Forms 1
O Macro - paste as plain text Outlook VBA and Custom Forms 2
J Help Please!!! Outlook 2016 - VBA Macro for replying with attachment in meeting invite Outlook VBA and Custom Forms 9
witzker Macro to set contact reminder to next day 9:00 Outlook VBA and Custom Forms 45
M Adding Macro to populate "to" "subject" "body" not deleting email string below. Outlook VBA and Custom Forms 5
E Copying data from e-mail attachement to EXCEL file via macro Outlook VBA and Custom Forms 38

Similar threads

Top