Solved

Embed a .jpg picture in an email with VBA - truble passing from Outlook 2000 to 2003.

Posted on 2008-06-25
4
2,265 Views
Last Modified: 2013-11-27
Hi I have developed a simple function that work perfectly with Access-Outlook 2000, but not with Access 2000-Outlook 2003.
It does everything but does not embed the image I would insert in preview with the line:
oHTML = "<HTML><Head></Head><Body><img SRC='" & oLettera & "' width=800 height=1130></Body></HTML>"
I have tried to insert CID parameters and other stuff, but with no result. Can you help, please?
Public Function InviaOutlookMailCampagne(oDestinatario As String, oOggetto As String, oLettera As String, oAllegato As String)
 
    Dim olkApp As Object, olkMsg As Object
    Dim oFile As String
    Dim oHTML As String
    Set olkApp = GetObject(, "Outlook.Application")
    '
    Set olkMsg = olkApp.CreateItemFromTemplate("L:\9.1.Campagne\Lettere\Modello emailing.oft")
    
    oHTML = "<HTML><Head></Head><Body><img SRC='" & oLettera & "' width=800 height=1130></Body></HTML>"
    
    With olkMsg
            .To = oDestinatario
            .Subject = oOggetto
            .HTMLBody = oHTML
            '.body = oMessaggio
            '.Attachments.Add oLettera
            .Attachments.Add oAllegato
            .Save
    End With
    '
    Set olkMsg = Nothing
    Set olkApp = Nothing
    '
 
End Function

Open in new window

0
Comment
Question by:Sar1973
  • 3
4 Comments
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 21939353
Sar1973,

Try this code.
It is straight from the MS website.

It works fine for me.

Please verify that it works "As Is".
Then try to adapt it to work in your Application.

You must set a reference to the Outlook Object Library in your VBA Editor.

JeffCoachman

Sub sbSendMessage()
Dim objOutlook                  As Outlook.Application
Dim objOutlookMsg               As Outlook.MailItem
Dim objOutlookRecip             As Outlook.Recipient
Dim objOutlookAttach            As Outlook.Attachment
 
 
' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")
' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
    With objOutlookMsg
        ' Add the To recipient(s) to the message. Substitute
        ' your names here.
        Set objOutlookRecip = .Recipients.Add("Recipient Name")   '<--Recipient's name or email address
        objOutlookRecip.Type = olTo
        ' Add the CC recipient(s) to the message.
        'Set objOutlookRecip = .Recipients.Add("CC Recipient Name")
        'objOutlookRecip.Type = olCC
        ' Set the Subject, Body, and Importance of the message.
        .Subject = "This is an Automation test with Microsoft Outlook"      '<--Subject
        '.Body = "This is normal Text in the Body of the email"              '<--Email Body text.
        'Use this to send the Email using the HTML Format
        '.HTMLBODY = "<HTML><H2><b>This is HTML Text in the BODY of the email</b></H2></HTML>"
        .HTMLBODY = "<HTML><Head></Head><Body><img SRC=c:\earth.jpg></Body></HTML>"
 
        .Importance = olImportanceHigh  'High importance
        'Add attachments to the message.
        'Set objOutlookAttach = .Attachments.Add("C:\Earth.jpg")             '<-- Add as many attachments as you need here.
        'Set objOutlookAttach = .Attachments.Add("C:\TextFile.txt")
        
        ' Resolve each Recipient's name.
        For Each objOutlookRecip In .Recipients
            If Not objOutlookRecip.Resolve Then
                objOutlookMsg.Display
            End If
        Next
        
        'Send email without viewing it.
        '.Send
        
        'Dispay email before sending.
        .Display
    
    End With
 
'Cleanup Code
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
Set objOutlookRecip = Nothing
Set objOutlookAttach = Nothing
 
End Sub

Open in new window

0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 21939355
Of course change the HTLM and add your own image and path.
0
 
LVL 9

Author Comment

by:Sar1973
ID: 21940849
Definitely, the syntax is <img SRC=C:\File.jpg> and not <img SRC='C:\File.jpg'> ...?
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 75 total points
ID: 21941985
Sar1973,

<img SRC=C:\File.jpg>
... worked fine for me.

As I said, test it out to be sure.

JeffCoachman
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Formatting Excel from Access with VBA... 5 57
Undo Button 1 31
Populate a MS Access field based on contents of 2 other fields. 5 23
Append Query Access 2010 4 13
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…

680 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