Re: Mail Merge HTML Format Word 2002 XP SP3



I would suggest that you ask the question in an Outlook newsgroup. I have
no experience in that field.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"LJ" <LJ@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:D2E99BC9-9B42-4A89-93FF-7172FBD0CECF@xxxxxxxxxxxxxxxx
Thanks Doug - I appreciate what you are saying re the formatting - but I
would like to be able to send the email in HTML to maintain the formatting
of
bullet points for example - and as the email already has a PDF attachment,
so
would it be possible for you to let me know how I would need, and at
which
point in your code etc, I would need to modify your original code. I'm
using
office 2003.
Many thanks

"Doug Robbins - Word MVP" wrote:

No, I have not modified the code. I did however indicate how it would
need
to be modified.

Personally, I would not bother trying to change it to sent the messages
in
HTML format as you have no control over how the recipient reads them.
Most
astute people will have the mail program set to display messaged in text
only format.

If you really want formatting in the information that is sent, send as an
attachment in .pdf format. Then you can really control how the recipient
sees it.

To see how to create the individual attachments, See the "Individual
Merge
Letters" item on fellow MVP Graham Mayor's website at:

http://www.gmayor.com/individual_merge_letters.htm

If you are using Word XP or later, the "Add-in to Merge Letters to
Separate
Files" that I have written and that can be downloaded from that site will
allow you to create each letter as a separate file with a filename taken
from a field in the data source with a minimum of fuss.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"LJ" <LJ@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:54E68E91-5EE4-4C81-8831-DF20FB7D401E@xxxxxxxxxxxxxxxx
Hi reading through this - this appears to answer the question I have
but
I'm
a little lost! I'm trying to send emails via mail merge but want to
send
them
HTML to maintain the formatting of the document I'm using the macro -
from
your article Doug Mail merge to email with attachments - are you saying
you
have now modified that code to send as HTML and if so how do I do this
please.

Many thanks,
Lauretta

"Doug Robbins - Word MVP" wrote:

From the modifications that you have made to the code, it seems that
instead
of using mailmerge to create the personalised content of the email
message,
you are using code to add the name to the document that becomes the
body
of
each message.

You seem to have missed the step

"Then execute to a new document the mail merge that you want to send
out
by
email with the attachments and with the result of execution of that
mail
merge on the screen, run a macro containing the following code."

The command

..Send HTML

that you have in your code is not correct.


The following information from the Outlook Help file is probably what
you
are looking for:

MailItem.BodyFormat Property
Returns or sets an OlBodyFormat constant indicating the format of the
body
text. Read/write.

expression.BodyFormat

expression A variable that represents a MailItem object.

Remarks

The body text format determines the standard used to display the text
of
the
message. Microsoft Outlook provides three body text format options:
Plain
Text, Rich Text (RTF), and HTML.
All text formatting will be lost when the BodyFormat property is
switched
from RTF to HTML and vice-versa.
Example

The following Microsoft Visual Basic/Visual Basic for Applications
(VBA)
example creates a new MailItem object and sets the BodyFormat property
to
olFormatHTML. The body text of the e-mail item will now appear in HTML
format.

Sub CreateHTMLMail()
'Creates a new e-mail item and modifies its properties.

Dim olApp As Outlook.Application
Dim objMail As MailItem
Set olApp = Outlook.Application
'Create mail item
Set objMail = olApp.CreateItem(olMailItem)

With objMail
'Set body format to HTML
.BodyFormat = olFormatHTML
.HTMLBody = "<HTML><H2>The body of this message will appear in
HTML.</H2><BODY>Type the message text here. </BODY></HTML>"
.Display
End With

End Sub



--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

<simon_forer@xxxxxxxxxxxxxxx> wrote in message
news:1163933094.685537.117660@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi have slightly modified Doug Robbin's code to merge 160 emails all
with attachments (some client specific, some generic). Thanks for
code
Doug!!

From reading other posts in here, I gather the emails I send out
(using
Word 2002 XP SP3) should retain formatting...but they don't.

Is there any extra code to send as HTML or is this just the default?

Code I'm using is:

Sub emailmergewithattachments()

Dim Source As Document, Maillist As Document
Dim Datarange As Range
Dim Counter As Integer, i As Integer
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim mysubject As String, message As String, title As String

Set Source = ActiveDocument

' Check if Outlook is running. If it is not, start Outlook
On Error Resume Next
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If

' Open the catalog mailmerge document
With Dialogs(wdDialogFileOpen)
.Show
End With
Set Maillist = ActiveDocument

' Show an input box asking the user for the subject to be inserted
into
the email messages
message = "Enter the subject to be used for each email message."
'
Set prompt.
title = " Email Subject Input" ' Set title.

' Display message, title
mysubject = InputBox(message, title)

' Iterate through the rows of the catalog mailmerge document,
extracting the information
' to be included in each email.

Counter = 1

While Counter <= Maillist.Tables(1).Rows.Count
Source.Sections.First.Range.Copy
Documents.Add
Selection.Paste

' Add Name to first line

Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:=1,
Name:=""
Selection.TypeText Text:=Maillist.Tables(1).Cell(Counter,
1).Range
Selection.TypeParagraph
Selection.TypeParagraph


Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.Subject = mysubject
.Body = ActiveDocument.Content
Set Datarange = Maillist.Tables(1).Cell(Counter, 2).Range
Datarange.End = Datarange.End - 1
.To = Datarange
For i = 3 To Maillist.Tables(1).Columns.Count
Set Datarange = Maillist.Tables(1).Cell(Counter, i).Range
Datarange.End = Datarange.End - 1
.Attachments.Add Trim(Datarange.Text), olByValue, 1
Next i
.Send HTML
End With
Set oItem = Nothing
ActiveDocument.Close wdDoNotSaveChanges
Counter = Counter + 1
Wend

' Close Outlook if it was started by this macro.
If bStarted Then
oOutlookApp.Quit
End If

'Clean up
Set oOutlookApp = Nothing
Source.Close wdDoNotSaveChanges
Maillist.Close wdDoNotSaveChanges

End Sub


Thanks
Simon









.



Relevant Pages

  • Re: Completely Blank E-mail Messages (should be messages with atta
    ... The sender and receiver are on the same ... Format to HTML. ... PA Bear is assuming that the sender is using Outlook and RTF format ...
    (microsoft.public.windows.inetexplorer.ie6_outlookexpress)
  • Re: Mail Merge HTML Format Word 2002 XP SP3
    ... HTML format as you have no control over how the recipient reads them. ... 'Creates a new e-mail item and modifies its properties. ... Dim olApp As Outlook.Application ...
    (microsoft.public.word.mailmerge.fields)
  • Re: Completely Blank E-mail Messages (should be messages with atta
    ... messages from the same sender are okay, ... RECEIVED message, The Edit Message, and Format to HTML. ... Are both senders and recipients using Outlook Express? ...
    (microsoft.public.windows.inetexplorer.ie6_outlookexpress)
  • Re: Ebay e-mails Durchsuchen und Adressenspeichern
    ... dass das Format gleich bleibt. ... > Hallo Outlook Profis ... Ich bekomme von Ebay nach einem Verkauf von einem Artikel eine bzw ... > nun poste ich hier mal nur den teil aus der HTML mail von Ebay den ich ...
    (microsoft.public.de.outlook)
  • Re: Defining a rule for "Display as HTML"
    ... The mechanism that Outlook uses to store HTML/RTF data but display only ... which is why I suggested that you use Outlook ... In any case, Outlook's HTML rendering engine ... Dim objActive As Object ...
    (microsoft.public.office.developer.outlook.vba)