View Single Post
  #7   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default Dynamically setting the path to the data source

Sub UpdateDataSource()

Dim MyPath As String
Dim MyName As String
Dim MyDoc As Document
'let user select a path
With Dialogs(wdDialogCopyFile)
If .Display() -1 Then Exit Sub
MyPath = .Directory
End With

'strip quotation marks from path

If Len(MyPath) = 0 Then Exit Sub

If Asc(MyPath) = 34 Then
MyPath = Mid$(MyPath, 2, Len(MyPath) - 2) End If

'Open each file from the selected path and 'attach the mailmerge data source
to it.

MyName = Dir$(MyPath & "*.doc")
Do While MyName ""
Set MyDoc = Documents.Open(MyPath & MyName)
With MyDoc
.MailMerge.OpenDataSource "D:\datasource.csv"
.Save
.Close
End With
MyName = Dir
Loop

End 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

"Microsoft Newsserver" wrote in message
...
Hi Doug,

Thanks again - do you know of any reference for the details for
appropriate code for updating the location of the datasource?

Andrew



"Doug Robbins - Word MVP" wrote in message
...
I wasn't suggesting using Find & Replace. The purpose for pointing you to
that article was for the way in which it deals with opening each of the
files in a folder, then performing an operation on the file before saving
and closing it. You would need to replace the code in the article that
does the Find & Replace with the appropriate code for attaching the new
datasource to each file.

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

"Microsoft Newsserver" wrote in message
...
Thanks for your reply Doug. I've been reading that article which looks
promising, however as I understand it the Find&Replace dialog lets you
replace text in the document. I can't see how to use the Find&Replace to
replace the stored location of the data source - the only way I know how
to change this is to either use the Mail Merge Wizard at step 3 or click
"Open Data Source" on the Mail Merge toolbar.

If there's another way to set this I'd love to know.

Many thanks,
Andrew


"Doug Robbins - Word MVP" wrote in message
...
Using a modification of the code in the article "Find & ReplaceAll on a
batch of documents in the same folder" at:

http://www.word.mvps.org/FAQs/MacrosVBA/BatchFR.htm

you could attach the new data source to each of the mail merge main
letters.


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

"Andrew Duncan" wrote in message
...
Does anyone know of a way to dynamically set the path to the data
source for a Word 2003 mail merge letter? For example if you had 50
letters all pointing to a data source at:

C:\datasource.csv

is there an easy way to change it to find the datasource at:

D:\datasource.csv

without having to change it for each of the 50 letters?

Thanks,
Andrew