Clarification CC Filed in Mail Merge

A

Ashish

I found one of the topics about the CC filed in Mail Merge which says
that the following code helps me do that.

Sub emailmergewithattachments()

End Sub
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." '
Setprompt.
title = " Email Subject Input" ' Set title.


' Display message, title


mysubject = InputBox(message, title)


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


Counter = 1
While Counter <= Maillist.Tables(1).Rows.Count
Source.Sections.First.Range.Cut
Documents.Add
Selection.Paste
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.Subject = mysubject
.Body = ActiveDocument.Content
Set Datarange = Maillist.Tables(1).Cell(Counter, 1).Range
Datarange.End = Datarange.End - 1
.To = Datarange
.CC = "" '[Enter email address to which the cc is to be sent.]
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
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

Iam Not sure how to use this.. Can someone please help me by explaining
this in detail.

Ashish
 
C

Cindy M.

Hi Ashish,
I found one of the topics about the CC filed in Mail Merge which says
that the following code helps me do that.
Since Doug Robbins (the author of this article) hasn't responded here,
try posting in the word.mailmerge.fields newsgroup. He checks there
regularly and, because there's less volume, will be more likely to see
it there.

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Jun 17 2005)
http://www.word.mvps.org

This reply is posted in the Newsgroup; please post any follow question
or reply in the newsgroup and not by e-mail :)
 
D

Doug Robbins - Word MVP

You need to look at the Article "Mail Merge to E-mail with Attachments" at:

http://word.mvps.org/FAQs/MailMerge/MergeWithAttachments.htm

to see how the code as a whole is used.

As for the .CC email address itself, where is it coming from? If it is
constant for all of the items that are being mailmerged, just enter
it into the code between the quotes, or use an InputBox to get it from the
user at the time that the code is run in a similar way to that which is used
to get the Subject of the email messages.

Also take a look at the Outlook Object Model.

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

Ashish said:
I found one of the topics about the CC filed in Mail Merge which says
that the following code helps me do that.

Sub emailmergewithattachments()

End Sub
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." '
Setprompt.
title = " Email Subject Input" ' Set title.


' Display message, title


mysubject = InputBox(message, title)


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


Counter = 1
While Counter <= Maillist.Tables(1).Rows.Count
Source.Sections.First.Range.Cut
Documents.Add
Selection.Paste
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
.Subject = mysubject
.Body = ActiveDocument.Content
Set Datarange = Maillist.Tables(1).Cell(Counter, 1).Range
Datarange.End = Datarange.End - 1
.To = Datarange
.CC = "" '[Enter email address to which the cc is to be sent.]
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
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

Iam Not sure how to use this.. Can someone please help me by explaining
this in detail.

Ashish
 

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