Outlook rule to run VBA script to pass the body of

2019-04-28 03:02发布

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.

2条回答
相关推荐>>
2楼-- · 2019-04-28 03:27

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.

查看更多
成全新的幸福
3楼-- · 2019-04-28 03:33

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
查看更多
登录 后发表回答