View Single Post
  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
David B David B is offline
external usenet poster
 
Posts: 2
Default When using Mail Merge to Email, how can you attach documents?

Dear Doug~

When I try to run this macro, VBE stops and says the following code in the
5th line Dim oOutlookApp As Outlook.Application is "user-defined type not
defined" -- ??

~David

"Doug Robbins - Word MVP" wrote:

See the article "Mail Merge to E-mail with Attachments"
at:http://word.mvps.org/FAQs/MailMerge/...hments.htmNote that I
recently updated that article and have since discovered that there is a
minor error that will cause the last person to whom a message is sent to
receive a second blank email. Therefore, use the following code rather than
that in the article:Sub emailmergewithattachments()Dim Source As Document,
Maillist As Document, TempDoc As Document
Dim Datarange As Range
Dim i As Long, j As Long
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim mysubject As String, message As String, title As StringSet 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 Sections of the
Source document and the rows of the catalog mailmerge document,
' extracting the information to be included in each email.
For j = 1 To Source.Sections.Count - 1
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.Subject = mysubject
.Body = Source.Sections(j).Range.Text
Set Datarange = Maillist.Tables(1).Cell(j, 1).Range
Datarange.End = Datarange.End - 1
.To = Datarange
For i = 2 To Maillist.Tables(1).Columns.Count
Set Datarange = Maillist.Tables(1).Cell(j, i).Range
Datarange.End = Datarange.End - 1
.Attachments.Add Trim(Datarange.Text), olByValue, 1
Next i
.Send
End With
Set oItem = Nothing
Next j
Maillist.Close wdDoNotSaveChanges' Close Outlook if it was started by this
macro.
If bStarted Then
oOutlookApp.Quit
End IfMsgBox Source.Sections.Count - 1 & " messages have been sent."'Clean
up
Set oOutlookApp = NothingEnd 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

"amanda" wrote in message
...
I am using Office 2003 and pretty well versed in Mail Merge to Outlook...
but
I can't figure or find a way to add attachments to the letter. I need to
send the word document as HTML email with 2 other Word documents as
attchments.