Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Mailmerge and Fax / November 2005

Tip: Looking for answers? Try searching our database.

Mail merge does not work when files are moved to another machine

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Al Cameron - 07 Nov 2005 21:46 GMT
I have several (@40) Word files (Office 2003) that point to the same Excel
Files (Office 2003).  Everything works fine on the development machine but
when I moved all the files to another machine (same path to the Excel file)
the merge does not work, making the merge file not portable.
Charles Kenyon - 07 Nov 2005 23:14 GMT
I suspect that this has to do with UNC coding of network addresses, which
may be different from what you would expect.

I set up a button in my merges toolbar to link to my database that is
machine independent. It is based on the merge file being in a particular
location relative to the Workgroup Templates folder. I make my merge
templates into non-merge documents (full of merge fields) and click on my
button to turn them into merge documents and link them to my database.

Function WorkGroupPath() As String
'   Written by Charles Kenyon
'   February 28, 2003
'
'   Used by templates menus to set location of templates.
'   Returns workgroup tempates path with "\" at the end.
'
'   This is needed because if the folder is a network drive rather
'   than a folder, it will have the "\" already. If it is a folder,
'   it will not have the backslash. This function gives a string
'   with the backslash in either case.
'
   WorkGroupPath =
Application.Options.DefaultFilePath(wdWorkgroupTemplatesPath)
   If Right(WorkGroupPath, 1) <> "\" Then
       WorkGroupPath = WorkGroupPath & "\"
   End If
End Function

Sub AttachClients()
'   Written by Charles Kenyon
'   19 April 2005
'
'   Requires WorkGroupPath function
'
'   Makes activedocument a mailmerge (letter) document and
'   attaches Clients_Merge.xls from Parts folder of Workgroup Templates
folder.
'
'   Then displays search dialog and goes to client, makes sure merge info is
'   displayed instead of merge codes.
'
   On Error Resume Next
'
'   Name of file
   Dim strFileName As String
   Dim strProvider As String
   strFileName = WorkGroupPath & "Parts\Merge Data\Clients_Merge.xls"
'
'   Attach Merge list
'    ActiveDocument.MailMerge.OpenDataSource _
       Name:=strFileName, _
       ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
       AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="",
_
       WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False,
_
       Format:=wdOpenFormatAuto, Connection:= _
       "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data
Source=C:\Documents and Settings\All Users\Documents\MS Office User System
Files\Shared Templates\Parts\Merge Data\Clients_Merge.xls;Mode=Read;Extended
Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:" _
       , SQLStatement:="SELECT * FROM `Clients$`", SQLStatement1:="",
SubType:= _
       wdMergeSubTypeAccess
'    ActiveDocument.MailMerge.OpenDataSource _
       Name:=strFileName, _
       ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
       AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="",
_
       WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False,
_
       Format:=wdOpenFormatAuto, _
       Connection:= _
       "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data
Source=strFileName;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet
OLEDB:" _
       , SQLStatement:="SELECT * FROM `Clients$`", SQLStatement1:="",
SubType:= _
       wdMergeSubTypeAccess
'   Following should be shorter version of above (somewhat)
   ActiveDocument.MailMerge.OpenDataSource strFileName, , , False, _
       True, False, "", "", False, "", "",
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data
Source=strFileName;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet
OLEDB:" _
       , "SELECT * FROM `Clients$`", "", , wdMergeSubTypeAccess
'
'   Show merge data
   ActiveDocument.MailMerge.ViewMailMergeFieldCodes = False
'
'   Find client
   Application.Dialogs(wdDialogMailMergeFindRecipient).Show
End Sub

Signature

Charles Kenyon

Word New User FAQ & Web Directory: http://addbalance.com/word

Intermediate User's Guide to Microsoft Word (supplemented version of
Microsoft's Legal Users' Guide) http://addbalance.com/usersguide

See also the MVP FAQ: http://word.mvps.org/FAQs/ which is awesome!
--------- --------- --------- --------- --------- ---------
This message is posted to a newsgroup. Please post replies
and questions to the newsgroup so that others can learn
from my ignorance and your wisdom.

>I have several (@40) Word files (Office 2003) that point to the same Excel
> Files (Office 2003).  Everything works fine on the development machine but
> when I moved all the files to another machine (same path to the Excel
> file)
> the merge does not work, making the merge file not portable.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.