Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   HTMLBody with images (http://www.outlookbanter.com/outlook-vba/39318-htmlbody-images.html)

tim johnson January 31st 07 01:44 AM

HTMLBody with images
 
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

Michael Bauer [MVP - Outlook] January 31st 07 06:56 AM

HTMLBody with images
 

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


tim johnson January 31st 07 09:15 AM

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



tim johnson January 31st 07 09:26 AM

HTMLBody with images
 
Ooops...apparently I left some testing MsgBox's in there! Lol. Also, if
someone does decide to use this in conjunction with Word, be sure to save
your document as Formatted HTML.

"Tim Johnson" wrote:

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



Michael Bauer [MVP - Outlook] January 31st 07 11:33 AM

HTMLBody with images
 


For private use Redemption is for free. But you could also adapt the code
and work with CDO 1.21 instead of Redemption in this case.

--
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 Wed, 31 Jan 2007 00:15:01 -0800 schrieb Tim Johnson:

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



Sue Mosher [MVP-Outlook] February 1st 07 01:30 AM

HTMLBody with images
 
For a CDO example, see http://www.outlookcode.com/d/code/htmlimg.htm

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003
http://www.turtleflock.com/olconfig/index.htm
and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
http://www.outlookcode.com/jumpstart.aspx

"Michael Bauer [MVP - Outlook]" wrote in message .. .


For private use Redemption is for free. But you could also adapt the code
and work with CDO 1.21 instead of Redemption in this case.

--
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 Wed, 31 Jan 2007 00:15:01 -0800 schrieb Tim Johnson:

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



All times are GMT +1. The time now is 07:04 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com