Forum Discussion
klakiklaki
Dec 28, 2024Copper Contributor
Run macro after new email
Is it possible to enable automatic macro execution (run macro) every time a new email arrives? Can something like: Private Sub Application_Startup / Triggered() be added to the code? Or at least add ...
Kidd_Ip
Jan 02, 2025MVP
Try below
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim Ns As Outlook.NameSpace
Set Ns = Application.GetNamespace("MAPI")
Set Items = Ns.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
Call RunExcelMacro
End If
End Sub
Private Sub RunExcelMacro()
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open "C:\Workbook.xlsx"
xlApp.Run "Import_Emails"
xlApp.Quit
Set xlApp = Nothing
End Sub