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.
 
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
 
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
 
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
G Trigger script without restaring outlook Outlook VBA and Custom Forms 7
C must select message to trigger safe list Using Outlook 3
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
N Macro in this Project are disabled Outlook VBA and Custom Forms 2
M Outlook 365 Amending code so macro runs within current new mail window Outlook VBA and Custom Forms 0
M Outlook 365 macro - automatically attach file based on subject line Outlook VBA and Custom Forms 0
J Outlook macro to run before email is being send Outlook VBA and Custom Forms 3
H Macro to Delete Duplicate items in Outlook calendar where title is the same and date is the same Outlook VBA and Custom Forms 0
X Custom icon (not from Office 365) for a macro in Outlook Outlook VBA and Custom Forms 1
X Run macro automatically when a mail appears in the sent folder Using Outlook 5
mrrobski68 Issue with Find messages in a conversation macro Outlook VBA and Custom Forms 1
G Creating Macro to scrape emails from calendar invite body Outlook VBA and Custom Forms 6
M Use Macro to change account settings Outlook VBA and Custom Forms 0
J Macro to Reply to Emails w/ Template Outlook VBA and Custom Forms 3
C Outlook - Macro to block senders domain - Macro Fix Outlook VBA and Custom Forms 1
Witzker Outlook 2019 Macro to seach in all contact Folders for marked Email Adress Outlook VBA and Custom Forms 0
S macro error 4605 Outlook VBA and Custom Forms 0
A Macro Mail Alert Using Outlook 4
J Outlook 365 Outlook Macro to Sort emails by column "Received" to view the latest email received Outlook VBA and Custom Forms 0
J Macro to send email as alias Outlook VBA and Custom Forms 0
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro GoTo user defined search folder Outlook VBA and Custom Forms 6
D Outlook 2016 Creating an outlook Macro to select and approve Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to send an Email Template from User Defined Contact Form Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to check Cursor & Focus position Outlook VBA and Custom Forms 8
V Macro to mark email with a Category Outlook VBA and Custom Forms 4
M Outlook 2019 Macro not working Outlook VBA and Custom Forms 0
S Outlook 365 Help me create a Macro to make some received emails into tasks? Outlook VBA and Custom Forms 1
D Auto Remove [EXTERNAL] from subject - Issue with Macro Using Outlook 21
V Macro to count flagged messages? Using Outlook 2
sophievldn Looking for a macro that moves completed items from subfolders to other subfolder Outlook VBA and Custom Forms 7
S Outlook Macro for [Date][Subject] Using Outlook 1
E Outlook - Macro - send list of Tasks which are not finished Outlook VBA and Custom Forms 3
E Macro to block senders domain Outlook VBA and Custom Forms 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
N Line to move origEmail to subfolder within a reply macro Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to answer a mail with attachments Outlook VBA and Custom Forms 2
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
J Macro to Insert a Calendar Outlook VBA and Custom Forms 8
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
T Macro to move reply and original message to folder Outlook VBA and Custom Forms 6
D Autosort macro for items in a view Outlook VBA and Custom Forms 2
S HTML to Plain Text Macro - Help Outlook VBA and Custom Forms 1
A Macro to file emails into subfolder based on subject line Outlook VBA and Custom Forms 1
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

Similar threads

Back
Top