L
LuisE
I have to recurrently send a workbook to users whom will manipulate the data
in the file and then will run a macro to create a Mail Merge (they have
different versions of Word) based on a template.
I 'm facing some questions:
How can I distribute the word file making sure that I can capture each
user's path in the MailMerge template (the DataSouce file) ?
I'm created a reference to Word 9 wich works fine but doesn't with Word 12,
how can I over come this?
Sub MailMerge()
Dim wdApp As Object
Dim wdDoc As Object
Set wdApp = CreateObject("Word.application")
Set wdDoc = wdApp.Documents.Open(Filename:="C:\Documents\name.dot")
With wdApp
.Visible = True
.ActiveWindow.WindowState = 0
.Activate
End With
With wdDoc.MailMerge
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = 2 'wdDefaultFirstRecord
.LastRecord = wdDoc.MailMerge.DataSource.RecordCount
'wdDefaultLastRecord
End With
.Execute Pause:=True
End With
wdDoc.Close savechanges:=False
Set wdDoc = Nothing
wdApp.Quit
Set wdApp = Nothing
End Sub
Thanks in advance
in the file and then will run a macro to create a Mail Merge (they have
different versions of Word) based on a template.
I 'm facing some questions:
How can I distribute the word file making sure that I can capture each
user's path in the MailMerge template (the DataSouce file) ?
I'm created a reference to Word 9 wich works fine but doesn't with Word 12,
how can I over come this?
Sub MailMerge()
Dim wdApp As Object
Dim wdDoc As Object
Set wdApp = CreateObject("Word.application")
Set wdDoc = wdApp.Documents.Open(Filename:="C:\Documents\name.dot")
With wdApp
.Visible = True
.ActiveWindow.WindowState = 0
.Activate
End With
With wdDoc.MailMerge
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = 2 'wdDefaultFirstRecord
.LastRecord = wdDoc.MailMerge.DataSource.RecordCount
'wdDefaultLastRecord
End With
.Execute Pause:=True
End With
wdDoc.Close savechanges:=False
Set wdDoc = Nothing
wdApp.Quit
Set wdApp = Nothing
End Sub
Thanks in advance