Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Outlook rule to run VBA script to pass the body of email to external program

I've set up an Outlook rule that filters emails. I want to run an external program (python script) to parse each such email.

I know of the SHELL function, but I need a way to pass the body of the email to my external program.

like image 781
dshin Avatar asked May 10 '10 19:05

dshin


2 Answers

Google is your friend for this one, I got this snippet by searching "outlook vba script".

Basically for the body of the email you want to pass Item.Body to your python script.

http://support.microsoft.com/kb/306108

Sub CustomMailMessageRule(Item As Outlook.MailItem)
    MsgBox "Mail message arrived: " & Item.Subject
End Sub`

Sub CustomMeetingRequestRule(Item As Outlook.MeetingItem)
    MsgBox "Meeting request arrived: " & Item.Subject
End Sub
like image 53
wonderfulthunk Avatar answered Sep 22 '22 03:09

wonderfulthunk


You'd need a VBA script to parse python in outlook.

Press alt+F11. You will get a VBA window.

Sub python(Item As Outlook.MailItem)
Shell ("python C:\path\tp\your\filename.py")
End Sub

I hope you have set windows variable path for python.

Shell command passes the command to windows shell prompt. You can test this by running your python script in command prompt. If it is working there, then it should work here as well.

like image 41
heycooldude Avatar answered Sep 20 '22 03:09

heycooldude