I'd have to have a more complete description of your methods to have any practical advice. I just sped up one export process by a factor of 6 simply by declaring some reference variables. Things like
Code:
Set myApp = myBookMgd.Application
With myApp
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
instead of
Code:
myBookMgd.Application.Calculation = xlCalculationManual
myBookMgd.Application.ScreenUpdating = False
myBookMgd.Application.EnableEvents = False
The reason the first version is more efficient is because VBA has to resolve each object (myBookMgd, then .Application) each time in the second version, but only once in the first. (Note: the reference variable myApp is used again a few lines down.)
Just a thought, but I'm wondering why the work is being done at the server end for your mail merge. If the data required to be merged were pushed to a table in the front end, and the doc were likewise pushed to the frontend PC, then the only limitation is the speed of the PC itself.
The second question is, where's the mail being sent out from?
So, my question back is, exactly what applications are talking to each other to make this process happen? Is Access pulling informatoin from SQL server and executing Word to create a mailmerge that goes to Outlook, or what?