View Single Post
  #3  
Old January 31st 07, 09:15 AM posted to microsoft.public.outlook.program_vba
tim johnson
external usenet poster
 
Posts: 4
Default HTMLBody with images

Thank you for your rapid response, Michael.

Unfortunately, I'm doing this as a favor for a friend, and am not able to
drop $200 on Redemption for this project.

I have made some code that will actually link to the url's after being
unable to find answers on the web (I've pasted my code below), but it's very
limited (and, at the moment, requires the original images to be jpg files).
If anyone knows where I can find some more efficient solutions, please let me
know. Here's the code:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set bdy = FSO.OpenTextFile(strFile)
strText = bdy.readall

intSearch = 1
intPicNum = 0
strText = Right(strText, Len(strText) - InStr(1, strText, "body") + 1)
Do While intSearch Len(strText)
If InStr(intSearch, strText, "img") = 0 Then
intSearch = Len(strText)
Else:
intSearch = InStr(intSearch, strText, "img")
intPicNum = intPicNum + 1
MsgBox (InStr(intSearch, strText, "jpg"))
MsgBox (InStr(intSearch + 70, strText, "jpg"))
strText = Left(strText, InStr(intSearch, strText, "src=") + 4) &
InputBox_("Pictures sent through this utility MUST be linked to a picture on
the internet." &_ Chr(13) & "Please enter the FULL web address for picture
no. " &_ intPicNum, "Picture Location") & Right(strText, Len(strText) -
InStr(intSearch,_ strText, "jpg") - 2)
intSearch = intSearch + 4
End If
Loop

Do While IsNull(Me.Email) = False
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = CreateItem(olMailItem)

With objMail
.To = strTo
.Subject = strSubject
.HTMLBody = strText
.Send
End With
DoCmd.GoToRecord , , acNext
Loop


I hope this helps someone who may stumble on this...it's still pretty
limited, though.

"Michael Bauer [MVP - Outlook]" wrote:


Here's a sample, based on a template from Dmitry Streblchenko:
http://www.vboffice.net/sample.html?...9&cmd=showitem

For that sample you need the Redemption (www.dimastr.com).

Call AddEmbeddedAttachment with

- Mail: Outlook MailItem
- File: Full file name of the image file
- [PositionID]: You can insert a placeholder into the e-mails HTMLBody and
pass that placeholder here. The image then would be placed at that position.
If there's no placeholder the image would be inserted at the end.
- [Description]: Optional description for the image


--
Viele Gruesse / Best regards
Michael Bauer - MVP Outlook
Keep your Outlook categories organized!
http://www.shareit.com/product.html?...4&languageid=1
(German: http://www.VBOffice.net/product.html?pub=6)


Am Tue, 30 Jan 2007 16:44:00 -0800 schrieb Tim Johnson:

Hi there,

I am working on the development of a database (Access). I think that
because the issues I'm having are outlook related, though, that this is

the
appropriate place for posting this.

I use a VBA sub to create an instance of Outlook by which I send
"personalized" emails. Most of these emails are designed using Word and
include images, then are saved as HTML files. My code is currently:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set bdy = FSO.OpenTextFile(strFile,1)
strText = bdy.readall

With objMail
.To = strTo
.Subject = strSubject
.HTMLBody = strText
.Send
End With

The email's body & formatting come through just fine, but the images are
broken links (it appears from the source as though they're tring to link

to a
local location).

Is there a way to include the images without having to post them on the
internet each time?

Thanks in advance


Ads