Mail Merge with Attachement Fail

P

PS

I've taken Doug's advice and prepared the mail merge with attachment and sent
via email. However, only the very first one received the main body (text) in
html. For the second and third receiptants, they can only receive the
attachments, but not the text itself. Do you have a clue?

The outlook I use is Outlook 2003 and Word is 2002.

Thanks.
 
D

Doug Robbins - Word MVP

It sounds like you have not executed the mailmerge that contains the body
text to a new document and had that document as the active document when you
ran the macro.

--
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
 
P

PS

Oh, yes. I missed the important point that I must merge to a new document
before I ran the macro.

This macro really help a lot. Many thanks.

PS.
 
D

Doug Robbins - Word MVP

Having set the reference to the Outlook Object Library, you can make use of
any of the methods included in that library. Included in them are methods
to CC and BCC. You will need to determine how you want to provide the email
addresses for the cc recipients. You could have them included in the
catalog or directory merge document and grab them from there in the same way
that the email address of the addressee is obtained from that file, or you
could use an input box to enter it, or you can hardcode it into the macro.

The following modified section of the code shows how it would be done if it
is hardcoded:

With oItem
.Subject = mysubject
.Body = ActiveDocument.Content
Set Datarange = Maillist.Tables(1).Cell(Counter, 1).Range
Datarange.End = Datarange.End - 1
.To = Datarange
.CC = "(e-mail address removed)"
For i = 2 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
End With

If you were to put the email address for the cc in the second column of the
catalog or directory merge document, then you would need to change

For i = 2 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

to

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

so that the macro starts looking for the attachments in the third column
rather than the second.
--
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
 
P

PS

I've tried to add the .CC code in the macros. But then, when I ran the
macros, the "click-yes" message pump up as ususal, but the mail never
delivered. Not sure which step i missed, will try again.

PS.
 
M

manne142

Hi, i'm trying do do what you suggest, executing a new mailmerge and running
the macro from the mailmerge result window. I still get mails with the body
text and attachement in only the first mail and only the attachement in the
rest. I'm using office 2007.
 
D

Doug Robbins - Word MVP

How many Sections are there in the document in the mailmerge result window?

--
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
 
M

manne142

Hi, I found the solution myself. It worked out well when i did not use the
wizard, but clicked the buttons on the merge tool bar. When I finally clicked
the fulfill-button (I'm not sure what it is called in english, I'm using the
norwegian version of Office), and then ran the macro, it worked out fine.
The "MailMerge with attachements"-function should really be a default option
in MS Office. But that is probably out of your hands....
Thanks for your help, your macro really helped us.
 
D

Doug Robbins - Word MVP

Glad you got it sorted out. The Wizard is a bit more like a Magician -
Designed to deceive.

The English for "fulfill" in this context would be "execute".

--
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top