Add attachment to an already open Outlook email

  • Thread starter Thread starter Nathan Berton
  • Start date Start date
N

Nathan Berton

Hi,

I'm trying to use Excel to add an attachment to an Outlook email
that's already been opened in Outlook. I have code that creates a new
email and adds the attachment, but I want to be able to preserve the
email chain in a reply or add the file after I've already written the
body of the email.

Any help is appreciated! Thanks! Here's the code I mentioned that I
already have:

Sub test()
Dim filename As String
Dim result As Long
Dim OutMail As Object
Dim OutApp As Object

Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0) ' this is the line
I expect needs to be changed.


With OutMail
.To = ""
.CC = ""
.BCC = ""
.Subject = "Emailing: " & ActiveWorkbook.Name
.Body = ""
.Attachments.Add Environ("temp") & "\zip\" &
Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4) & ".zip"
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
 
Why do you need code to attach a file if the email is open and
presumably displayed on your desktop?

Something like this might work. After setting a reference to the
active Inspector, the .Add method of the Attachments Collection
returns an object reference to the newly added attachment.

Dim olcurrentmail As Outlook.MailItem
Dim olattachments As Outlook.Attachments
Dim newattach As Outlook.Attachment

Set olcurrentmail = ActiveInspector.CurrentItem
Set olattachments = olcurrentmail.Attachments

Set newattach = olattachments.Add("C:\filename.xls")

HTH,
JP
 
Thanks a bunch to all 3 of you for your help!

JP--your code works great and does exactly what I need. To answer
your question, the code saves a ton of time versus going through
Outlook interface, making sure I've saved the file I'm working on,
having to close the file down to zip it, and then finding the zip file
and attaching it. I do this 20 to 30 times a day, so it can literally
save me multiple hours in a week.

Mark, thanks for the reference. I'm sure it will come in useful if I
take this further. Steve, thanks for your insights; again, I'm sure
they'll be handy if this macro doesn't solve all my problems.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top