Automatically Attach PDF file to all reply emails as well as newly created emails

Is there a way to automatically attach a PDF file whenever someone replies to an email in outlook as well as attach this same PDF to a newly created email? I need to attach a PDF file to basically ALL outbound emails whether they are replies or new emails from scratch. Can this be done in Outlook VBA?
LVL 1
Lawrence SalvucciInformation Technology ManagerAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Rgonzo1971Connect With a Mentor Commented:
You could try to use the ItemSend event

Public WithEvents myOlApp As Outlook.Application
Public Sub Initialize_handler()
 
 Set myOlApp = Outlook.Application
 
End Sub
 
 
 
Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)

Set myAttachments = Item.Attachments
myAttachments.Add Source:="C:\My Documents\Disclaimer.pdf", Type:=olByValue, DisplayName:="Disclaimer"
 
End Sub

Open in new window

for reference
https://msdn.microsoft.com/en-us/library/office/ff865076.aspx

Regards
0
 
Lawrence SalvucciInformation Technology ManagerAuthor Commented:
I put the code in a new module and ran it but it didn't attach anything. Did I miss something? Here is what I put:

Public Sub Initialize_handler()
 
 Set myOlApp = Outlook.Application
 
End Sub
 
Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myAttachments As Outlook.Attachments
Set myAttachments = Item.Attachments
myAttachments.Add Source:="D:\BC Terms and Conditions.pdf", Type:=olByValue, DisplayName:="Disclaimer"
End Sub

Open in new window

0
 
Rgonzo1971Commented:
it misses the with event and you have to close and reopen OL
Public WithEvents myOlApp As Outlook.Application

Open in new window

The sample code must be placed in a class module, and the Initialize_handler routine must be called before the event procedure can be called by Outlook.
0
Easily manage email signatures in Office 365

Managing email signatures in Office 365 can be a challenging task if you don't have the right tool. CodeTwo Email Signatures for Office 365 will help you implement a unified email signature look, no matter what email client is used by users. Test it for free!

 
Lawrence SalvucciInformation Technology ManagerAuthor Commented:
I added that line of code and then closed and opened OL and still nothing. Does the "Initialize_handler" routine stay in the class module with the rest of the code or does that go in a separate module?
0
 
Rgonzo1971Commented:
in the class module
 but outside the sub
0
 
Rgonzo1971Commented:
is the code in "ThisOutlookSession" module?
0
 
Lawrence SalvucciInformation Technology ManagerAuthor Commented:
No. I put it in a new class module. Should it be in the "ThisOutlookSession"?
0
 
Rgonzo1971Commented:
I think so
0
 
Lawrence SalvucciInformation Technology ManagerAuthor Commented:
I put it there and it's working now. I am putting the attachment on my network server so if a user goes to send an email from their laptop and they are not connected to the network then they will not be able to grab the attachment. Is there a way to just bypass the attachment if it cannot be found since they are not on the network instead of having it error out? This is only for users that send emails while on the network in the office. When they are outside the network they don't have to attach this file but I don't want the code to error out.
0
 
Rgonzo1971Connect With a Mentor Commented:
you can test if a file is there with

Res = Dir("c:\myFolder\myFile.txt")
if Res <> "" then
'attach file
End if

Open in new window

0
All Courses

From novice to tech pro — start learning today.