Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
tammy tammy is offline
external usenet poster
 
Posts: 107
Default Email merge not including the header of the letter

Hi,

I posted this to the Outlook group first, and they told me to post the
question in the Word group. Here is the post:

Hi,

I wasn't sure if this should be posted in the Word group, or Outlook. If I
should repost to the Word group, please let me know.

I have a user who is trying to send out a mail merge letter using a template
she created, which includes a header, as the main document. The source is her
Outlook Contacts folder. The email goes out, but the header is not included
in the email message.

Can a header from a letter be included with an email merge? If so, how can I
do this?

Is there a way to make sure the entire letter, including a header and
footer, gets sent through an email?

If not, do you have any other suggestions? The letter is personalized during
the mail merge process, so we can't attach a "generic" letter to the email.

Thanks!



  #2   Report Post  
Posted to microsoft.public.word.mailmerge.fields
tammy tammy is offline
external usenet poster
 
Posts: 107
Default Email merge not including the header of the letter

Update - my user is not using her Outlook contacts. She is creating an email
merge in Word, and using an Access query as her contact source. I
experimented with OL contacts, and it did not work, so I know the contact
source doesn't have anything to do with this. I have a feeling this is going
to be a "can't be done" answer.

Thanks for any suggestions!

"Tammy" wrote:

Hi,

I posted this to the Outlook group first, and they told me to post the
question in the Word group. Here is the post:

Hi,

I wasn't sure if this should be posted in the Word group, or Outlook. If I
should repost to the Word group, please let me know.

I have a user who is trying to send out a mail merge letter using a template
she created, which includes a header, as the main document. The source is her
Outlook Contacts folder. The email goes out, but the header is not included
in the email message.

Can a header from a letter be included with an email merge? If so, how can I
do this?

Is there a way to make sure the entire letter, including a header and
footer, gets sent through an email?

If not, do you have any other suggestions? The letter is personalized during
the mail merge process, so we can't attach a "generic" letter to the email.

Thanks!



  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Email merge not including the header of the letter

Word mailmerge "out of the box" does the following:
a. fills in the fields in your mail merge main document, and sends that
..doc(x) as an attachment to a mail merge message. That mail merge message
has no body text - just recipient, subject, and the attachment
b. fills in the fields in your mail merge main document, and sends that as
the body of an HTML format e-mail. This only works if you are sending the
emails via Outlook (not Outlook Express)
c. fills in the fields in your mail merge main document, coverts the doc.
to plain text and sends that text as the body of a plain text format e-mail
message

Of these, only (a) can give you headers and footers in the normal word
processing sense of the word, but (1) you have that empty message body and
(2) the recipient has to have some way to open a Word format document (e.g.
the word reader). Neither (b) nor (c) can do headers/footers - that's a
limitation of the mail format, not Word.

Doing anything else requires that you either
a. use VBA macros (or some other programming approach) to prepare the
emails and send them. That lets you attach the merged document /and/ insert
some text in the body of the document.
b. use a third party solution/add-on of some kind

For (a) you can use a macro like this:

Sub EmailOneDocPerSourceRecWithBody()
' By Peter Jamieson, 2006
Dim bOutlookStarted As Boolean
Dim bTerminateMerge As Boolean
Dim intSourceRecord As Integer
Dim objMailItem As Outlook.MailItem
Dim objMerge As Word.MailMerge
Dim objOutlook As Outlook.Application
Dim strMailSubject As String
Dim strMailTo As String
Dim strMailBody As String
Dim strOutputDocumentName As String


bOutlookStarted = False
bTerminateMerge = False


' Set up a reference to the
' Activedocument, partly because
' the ActiveDocument changes as you
' merge each record


Set objMerge = ActiveDocument.MailMerge


' Start Outlook as necessary


On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
If Err 0 Then
Set objOutlook = CreateObject("Outlook.Application")
bOutlookStarted = True
End If


With objMerge


' If no data source has been defined,
' do it here using OpenDataSource.
' But if it is already defined in the
' document, you should not need to
' define it here.


' .OpenDataSource _
' Name:="whatever"


intSourceRecord = 1


Do Until bTerminateMerge
.DataSource.ActiveRecord = intSourceRecord


' if we have gone past the end
' (and possibly, if there are no records)
' then the Activerecord will not be what
' we have just tried to set it to


If .DataSource.ActiveRecord intSourceRecord Then
bTerminateMerge = True
' the record exists
Else


' while we are looking at the
' correct activerecord,
' create the mail subject, body and "to"
' Just some sample code here - replace it with
' whatever you need


strMailSubject = _
"Results for " & _
objMerge.DataSource.DataFields("Firstname") & _
" " & objMerge.DataSource.DataFields("Lastname")


strMailBody = _
"Dear " & objMerge.DataSource.DataFields("Firstname") & _
vbCrLf & _
"Please find attached a Word document containing" & vbCrLf & _
"your results for..." & vbCrLf & _
vbCrLf & _
"Yours" & vbCrLf & _
"Your name"
strMailTo = objMerge.DataSource.DataFields("Emailaddress")


' create the document path name
' In this case it can be the same for every recipient,
' but if you want to retain copies of the
' document, you can use info. in the data source


' this is an example - insert your
' own pathname here


strOutputDocumentName = "c:\a\results.doc"


' strOutputDocumentName = _
' "c:\mymergeletters\_" & _
' .DataSource.DataFields("Lastname").Value & _
' " letter.doc"
.DataSource.FirstRecord = intSourceRecord
.DataSource.LastRecord = intSourceRecord
.Destination = wdSendToNewDocument
.Execute


' The Activedocument is always the
' output document


' Add any parameters you need to these calls
ActiveDocument.SaveAs strOutputDocumentName
ActiveDocument.Close


' Now create a


Set objMailItem = objOutlook.CreateItem(olMailItem)
With objMailItem
.Subject = strMailSubject
.Body = strMailBody
.To = strMailTo
.Attachments.Add strOutputDocumentName, olByValue, 1
'.Save
.Send
End With
Set objMailItem = Nothing


intSourceRecord = intSourceRecord + 1
End If
Loop
End With


' Close Outlook if appropriate


If bOutlookStarted Then
objOutlook.Quit
End If


Set objOutlook = Nothing
Set objMerge = Nothing


End Sub




--
Peter Jamieson
http://tips.pjmsn.me.uk

"Tammy" wrote in message
...
Hi,

I posted this to the Outlook group first, and they told me to post the
question in the Word group. Here is the post:

Hi,

I wasn't sure if this should be posted in the Word group, or Outlook. If I
should repost to the Word group, please let me know.

I have a user who is trying to send out a mail merge letter using a
template
she created, which includes a header, as the main document. The source is
her
Outlook Contacts folder. The email goes out, but the header is not
included
in the email message.

Can a header from a letter be included with an email merge? If so, how can
I
do this?

Is there a way to make sure the entire letter, including a header and
footer, gets sent through an email?

If not, do you have any other suggestions? The letter is personalized
during
the mail merge process, so we can't attach a "generic" letter to the
email.

Thanks!




  #4   Report Post  
Posted to microsoft.public.word.mailmerge.fields
tammy tammy is offline
external usenet poster
 
Posts: 107
Default Email merge not including the header of the letter

Hi Peter,

Thanks so much for your very informative response. I really appreciate all
the coding you provided. You answered my question and more!

Thanks, again!

"Tammy" wrote:

Update - my user is not using her Outlook contacts. She is creating an email
merge in Word, and using an Access query as her contact source. I
experimented with OL contacts, and it did not work, so I know the contact
source doesn't have anything to do with this. I have a feeling this is going
to be a "can't be done" answer.

Thanks for any suggestions!

"Tammy" wrote:

Hi,

I posted this to the Outlook group first, and they told me to post the
question in the Word group. Here is the post:

Hi,

I wasn't sure if this should be posted in the Word group, or Outlook. If I
should repost to the Word group, please let me know.

I have a user who is trying to send out a mail merge letter using a template
she created, which includes a header, as the main document. The source is her
Outlook Contacts folder. The email goes out, but the header is not included
in the email message.

Can a header from a letter be included with an email merge? If so, how can I
do this?

Is there a way to make sure the entire letter, including a header and
footer, gets sent through an email?

If not, do you have any other suggestions? The letter is personalized during
the mail merge process, so we can't attach a "generic" letter to the email.

Thanks!



  #5   Report Post  
Posted to microsoft.public.word.mailmerge.fields
tammy tammy is offline
external usenet poster
 
Posts: 107
Default Email merge not including the header of the letter

Hi Peter,

Sorry if this gets posted twice - an error occurred when I tried sending it
the first time.

Thanks so much for your very informative response. I really appreciate all
the coding you provided. You answered my question and more!

Thanks, again!

"Peter Jamieson" wrote:

Word mailmerge "out of the box" does the following:
a. fills in the fields in your mail merge main document, and sends that
..doc(x) as an attachment to a mail merge message. That mail merge message
has no body text - just recipient, subject, and the attachment
b. fills in the fields in your mail merge main document, and sends that as
the body of an HTML format e-mail. This only works if you are sending the
emails via Outlook (not Outlook Express)
c. fills in the fields in your mail merge main document, coverts the doc.
to plain text and sends that text as the body of a plain text format e-mail
message

Of these, only (a) can give you headers and footers in the normal word
processing sense of the word, but (1) you have that empty message body and
(2) the recipient has to have some way to open a Word format document (e.g.
the word reader). Neither (b) nor (c) can do headers/footers - that's a
limitation of the mail format, not Word.

Doing anything else requires that you either
a. use VBA macros (or some other programming approach) to prepare the
emails and send them. That lets you attach the merged document /and/ insert
some text in the body of the document.
b. use a third party solution/add-on of some kind

For (a) you can use a macro like this:

Sub EmailOneDocPerSourceRecWithBody()
' By Peter Jamieson, 2006
Dim bOutlookStarted As Boolean
Dim bTerminateMerge As Boolean
Dim intSourceRecord As Integer
Dim objMailItem As Outlook.MailItem
Dim objMerge As Word.MailMerge
Dim objOutlook As Outlook.Application
Dim strMailSubject As String
Dim strMailTo As String
Dim strMailBody As String
Dim strOutputDocumentName As String


bOutlookStarted = False
bTerminateMerge = False


' Set up a reference to the
' Activedocument, partly because
' the ActiveDocument changes as you
' merge each record


Set objMerge = ActiveDocument.MailMerge


' Start Outlook as necessary


On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
If Err 0 Then
Set objOutlook = CreateObject("Outlook.Application")
bOutlookStarted = True
End If


With objMerge


' If no data source has been defined,
' do it here using OpenDataSource.
' But if it is already defined in the
' document, you should not need to
' define it here.


' .OpenDataSource _
' Name:="whatever"


intSourceRecord = 1


Do Until bTerminateMerge
.DataSource.ActiveRecord = intSourceRecord


' if we have gone past the end
' (and possibly, if there are no records)
' then the Activerecord will not be what
' we have just tried to set it to


If .DataSource.ActiveRecord intSourceRecord Then
bTerminateMerge = True
' the record exists
Else


' while we are looking at the
' correct activerecord,
' create the mail subject, body and "to"
' Just some sample code here - replace it with
' whatever you need


strMailSubject = _
"Results for " & _
objMerge.DataSource.DataFields("Firstname") & _
" " & objMerge.DataSource.DataFields("Lastname")


strMailBody = _
"Dear " & objMerge.DataSource.DataFields("Firstname") & _
vbCrLf & _
"Please find attached a Word document containing" & vbCrLf & _
"your results for..." & vbCrLf & _
vbCrLf & _
"Yours" & vbCrLf & _
"Your name"
strMailTo = objMerge.DataSource.DataFields("Emailaddress")


' create the document path name
' In this case it can be the same for every recipient,
' but if you want to retain copies of the
' document, you can use info. in the data source


' this is an example - insert your
' own pathname here


strOutputDocumentName = "c:\a\results.doc"


' strOutputDocumentName = _
' "c:\mymergeletters\_" & _
' .DataSource.DataFields("Lastname").Value & _
' " letter.doc"
.DataSource.FirstRecord = intSourceRecord
.DataSource.LastRecord = intSourceRecord
.Destination = wdSendToNewDocument
.Execute


' The Activedocument is always the
' output document


' Add any parameters you need to these calls
ActiveDocument.SaveAs strOutputDocumentName
ActiveDocument.Close


' Now create a


Set objMailItem = objOutlook.CreateItem(olMailItem)
With objMailItem
.Subject = strMailSubject
.Body = strMailBody
.To = strMailTo
.Attachments.Add strOutputDocumentName, olByValue, 1
'.Save
.Send
End With
Set objMailItem = Nothing


intSourceRecord = intSourceRecord + 1
End If
Loop
End With


' Close Outlook if appropriate


If bOutlookStarted Then
objOutlook.Quit
End If


Set objOutlook = Nothing
Set objMerge = Nothing


End Sub




--
Peter Jamieson
http://tips.pjmsn.me.uk

"Tammy" wrote in message
...
Hi,

I posted this to the Outlook group first, and they told me to post the
question in the Word group. Here is the post:

Hi,

I wasn't sure if this should be posted in the Word group, or Outlook. If I
should repost to the Word group, please let me know.

I have a user who is trying to send out a mail merge letter using a
template
she created, which includes a header, as the main document. The source is
her
Outlook Contacts folder. The email goes out, but the header is not
included
in the email message.

Can a header from a letter be included with an email merge? If so, how can
I
do this?

Is there a way to make sure the entire letter, including a header and
footer, gets sent through an email?

If not, do you have any other suggestions? The letter is personalized
during
the mail merge process, so we can't attach a "generic" letter to the
email.

Thanks!





Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
i cut and pasted header on letter,sent email and they printed red chockum Microsoft Word Help 3 November 29th 07 02:53 PM
How to create an email from mail merge including a hyperlink, so that the value of a merged field is included as part of the hyperlink URL, not just part of its text. [email protected] Mailmerge 0 August 17th 07 03:52 PM
how do I email a word document including header and footer Andrew Microsoft Word Help 1 January 31st 07 01:36 PM
including email message with "mail merge with attachment" Lu Mailmerge 0 February 17th 05 09:51 PM
Including a letter header on a page dixie Mailmerge 2 November 29th 04 10:50 PM


All times are GMT +1. The time now is 10:56 PM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"