Trigger macro to run after a new mail is received in Outlook?

Status
Not open for further replies.

zmagic

Member
Outlook version
Outlook 2013 32 bit
Email Account
IMAP
Hello,

Win 7, Outlook 2013 I use macro that does an action on some of the files that arrive to my inbox in Outlook. However,
I have to click/run button to run this macro. Is there a way that this macro runs automatically whenever an email arrives to my inbox? Please help.

I have tried Outlook rule to run the script but not successful.

I tried this, but this works only when once I run the macro

Code:
Private Sub Application_NewMail()
   Call GetAttachments_From_Inbox (My Macro) 
 
End Sub

Confused what should i do.

Please help needed.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Are you also using the handler?

Public WithEvents myOlApp As Outlook.Application

Sub Initialize_handler()
Set myOlApp = Outlook.Application

End Sub

Private Sub myOlApp_NewMail()
Call GetAttachments_From_Inbox (My Macro)

End Sub
 

zmagic

Member
Outlook version
Outlook 2013 32 bit
Email Account
IMAP
Are you also using the handler?

I tried that too but still it does not trigger the script to download the attachments. The script which i am using to download the attachments and then move to Personal Mail folder is stated below. The outlook is configured only for single email. Any help in this regards will be highly appreciated.

Code:
Sub GetAttachments_From_Inbox()   
   On Error GoTo GetAttachments_err
   Dim appOl As New Outlook.Application
   Dim ns As Outlook.NameSpace
   Dim Inbox As Outlook.MAPIFolder
   Dim myDestFolder As Outlook.MAPIFolder
   Dim Item As Object
    'Dim Item As Outlook.Items
   Dim Atmt As Outlook.Attachment
   Dim FileName As String
   Dim i As Integer
   Dim iLoop As Integer
   Dim sender As String
   Dim bankName As String
   Dim ext As String
   Dim Items As Outlook.Items
   Dim oc As Object
   Dim moveEmail As Boolean
   Set ns = appOl.GetNamespace("MAPI")
   Set Inbox = ns.GetDefaultFolder(olFolderInbox)
   Set Item = Inbox.Items
   Set myDestFolder = Inbox.Folders("Personal Mail")
    'Set oc = Application.ActiveInspector.CurrentItem
   i = 0
   iLoop = 0
    ' Check Inbox for messages and exit if none found
   If Inbox.Items.Count = 0 Then 
 
'       ' MsgBox "There are no messages in the Inbox.", vbInformation, _
       "Nothing Found"
       Exit Sub
   End If
    ' Check each message for attachments
    'MsgBox " Size of inbox " + Inbox.Items.Count + " "
   For iLoop = 1 To Inbox.Items.Count
        'MsgBox "Loop -> " + iLoop
       For Each Item In Inbox.Items
           moveEmail = False
            ' Save any attachments found
           For Each Atmt In Item.Attachments
                If UCase(Atmt.FileName) Like "Export*" Or _
               UCase(Atmt.FileName) Like "Report*" Or _
               UCase(Atmt.FileName) Like "Update" Or _
               UCase(Atmt.FileName) Like "Sales*" Or _
        FileName = "D:\Attachments\" & Atmt.FileName
                   Atmt.SaveAsFile FileName
                   moveEmail = True
                    'Exit For
                    'Item.Move myDestFolder
                   i = i + 1
                    'Set Item = Item.FindNext
               End If
              
           Next Atmt
          
           If moveEmail Then
                ' now move email to personal folder
               Item.Move myDestFolder
           End If
          
       Next Item
       iLoop = iLoop + 1
   Next
  
    ' Show summary message
   If i > 0 Then
       'MsgBox "I found " & i & " attached files." _
       & vbCrLf & "I have saved them into the D:\Attachments folder." _
       & vbCrLf & vbCrLf & "Have a nice day.", vbInformation, "Finished!"
   Else
      ' MsgBox "I didn't find any attached files in your mail.", vbInformation, "Finished!"
   End If
    ' Clear memory 
 
GetAttachments_exit:
   Set Atmt = Nothing
   Set Item = Nothing
   Set ns = Nothing
   Set appOl = Nothing
   Exit Sub
    ' Handle errors 
 
GetAttachments_err:
   'MsgBox "An unexpected error has occurred." _
   & vbCrLf & "Please note and report the following information." _
   & vbCrLf & "Macro Name: GetAttachments" _
   & vbCrLf & "Error Number: " & Err.Number _
   & vbCrLf & "Error Description: " & Err.Description _
   , vbCritical, "Error!"
   Resume GetAttachments_exit 
 
End Sub
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
There are 3 ways to do 'something' - using a Run a Script macro, using an ItemAdd macro, or using NewMail. NewMail can handle heavier volume, run a script is for lighter loads. Because it's an imap account, NewMail should be the easiest to work with.

The macro at http://www.slipstick.com/developer/print-attachments-as-they-arrive/ could probably be used with your get attachments macro (instead of print attachments).

Are you using the new IMAP configuration where you use an ost and its set as default or the old configuration where a pst is default?

Outlook 2013 downloads complete items automatically, doesn't it?
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
D Trigger macro to run when selected email is opened Using Outlook 3
R Trigger Application_ItemSend event when sending using Access macro Outlook VBA and Custom Forms 2
M Subject Line Automation - Trigger Script Delayed Outlook VBA and Custom Forms 2
T Sending One Email to Trigger Another Being Sent Using an Email within the 1st? Using Outlook 0
J dragging an calendar item to deleted folder does not trigger ItemRemove event Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 2
S Macro for Loop through outlook unread emails Outlook VBA and Custom Forms 2
Globalforester ItemAdd Macro - multiple emails Outlook VBA and Custom Forms 3
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
M Macro to add date/time stamp to subject Outlook VBA and Custom Forms 4
R VBA macro - new message Outlook VBA and Custom Forms 3
S Example VBA Macro - To Conditionally Change the From Account and Add a BCC Address on Emails Outlook VBA and Custom Forms 11
S Macro using .SendUsingAccount only works the first time, after starting Outlook Outlook VBA and Custom Forms 4
S VBA Macro - Run-time error '424': object required - Help Please Outlook VBA and Custom Forms 3

Similar threads

Top