[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

VBA - Embed multiple files in Outlook body

Posted on 2010-09-08
11
Medium Priority
?
1,105 Views
Last Modified: 2012-06-21
Hi.
I am using the following code in Access VBA to send messages. I already have code to
attach multiple files to the message according to the paths held in a ListBox.
What if I want to rather embed multiple images into the body of the messages?
What code would I use? Thanks
Sub SendEmail_Contacts()
 
    Dim olApp As Object, olMsg As Object
    Dim rs As DAO.Recordset
    
    Set olApp = CreateObject("Outlook.Application")
    Set rs = CurrentDb.OpenRecordset("NameOfTable")
    
 
    Do While Not rs.EOF
        If Nz(rs!EmailAddr, "") <> "" Then
            Set olMsg = olApp.CreateItem(0)
            With olMsg
                .To = rs!EmailAddr
                .Subject = rs!Subject
                .Body = rs!Body
                '-------------Embed multiple images (eg HTML) in body -----------
                
                
                
                '-------------add multiple attachments --------------------------
                        Dim j As Integer
                        For j = 0 To FileList.ListCount - 1
                            oMsg.Attachments.Add FileList.Column(0, j)
                        Next j
                '----------------------------------------------------------------
                
                .Send
            End With
        End If
        rs.MoveNext
    Loop
 
    Set olMsg = Nothing
    Set olApp = Nothing
    rs.Close
    Set rs = Nothing
 
    MsgBox "Done"
 
End Sub

Open in new window

0
Comment
Question by:Murray Brown
9 Comments
 
LVL 4

Expert Comment

by:tabish
ID: 33626238
You'll have to attach the messages as usual and then manipulate the HTMLBody of the message.

http://www.outlookcode.com/d/code/htmlimg.htm
0
 

Author Comment

by:Murray Brown
ID: 33654166
Hi. Thank you for that code but I still need to embed multiple images. How would one update the code you gave to embed three images
0
 

Author Comment

by:Murray Brown
ID: 33654167
Hi. Thank you for that code but I still need to embed multiple images. How would one update the code you gave to embed three images
0
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

 

Author Comment

by:Murray Brown
ID: 33654724
I found this article that seems to hint that CDO is not supported for my Outlook 2010
http://blogs.msdn.com/b/deva/archive/2010/01/19/outlook-2010-why-cdo-1-2-1-not-supported-with-outlook-2010.aspx
0
 
LVL 49

Expert Comment

by:Dale Fye
ID: 33655139
Have you tried expanding this to include the Outlook and Automation zones.  You might be surprised to know that there are a number of experts in those zones that know their way around VBA but are not Access experts, and some who are Access Experts as well.
0
 
LVL 60

Accepted Solution

by:
Kevin Cross earned 2000 total points
ID: 33655213
It doesn't appear to me that the article you are referencing regarding CDO is relevant here.  In your question you indicated that the code above is working as it stands and all you want to do is add HTML code to the body (i.e.,  tags).  Please try the code given -- see if this reference helps to clarify:

http://msdn.microsoft.com/en-us/library/aa220082(v=office.11).aspx

It is for Office 2003, though, but the HTMLBody should still be correct property of Outlook.MailItem.  To add multiple images, you would do the same you would do on any web page: have multiple img tags.

""

Hopefully you have already accounted for where the images fit within the body HTML coming from database, but other than that think you should be set.
0
 

Author Comment

by:Murray Brown
ID: 33655878
Hi mwvisa1, thank you, but I am still not clear on this. What code would I use email several html images in the body of an Outlook message for Outlook 2010, where CDO referencing doesn't work.
0
 

Author Closing Comment

by:Murray Brown
ID: 33656611
Thanks very much for the redirection. Great help.
0
 
LVL 60

Expert Comment

by:Kevin Cross
ID: 33656663
Sorry I missed your earlier message ... was actually sleeping for a change.
However, I see that you have figured out what I was saying.

Glad it helped.

Best regards and happy coding,

Kevin

P.S. If you meant to assign some points to tabish also, please feel free to contact a Moderator as you will have no objections from me as I was trying to help drive home or clarify the point by assisting.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
There can be many situations demanding the conversion of Outlook OST files to PST format and as such, there is no shortage of automated tools to perform this conversion. However, what makes Stellar OST to PST converter stand above the rest? Let us e…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Suggested Courses
Course of the Month18 days, 3 hours left to enroll

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question