A
Anthony
Hi,
I amtrying to mail merge information from a worksheet into a mail merge word
document. Everything works fine, except it laves a process running once I
quit excel.
The mail merge is called from the same file as the informationto merge and
excel is closed manually by the user.
The code works correctly in 07 (well no process I can see is left), but it
needs to run in excel 2003 and this is where the left over process is
happening.
the code is as follows;
Sub print_Click()
Dim FName As String
Dim appWD As Object ' Word.Application
Dim UserN As String
Dim DesktopPath As String
On Error Resume Next
Application.StatusBar = "Starting mail merge ..."
FName = Dir(ThisWorkbook.Path & "\addresses.xls")
If appWD Is Nothing Then
Set appWD = CreateObject("Word.Application") ' New Word.Application
End If
appWD.Documents.Open Filename:=ThisWorkbook.Path & "\label
merge-auto.doc"
With appWD.ActiveDocument.MailMerge
.OpenDataSource Name:=ThisWorkbook.Path & "\" & FName,
sqlstatement:="SELECT * FROM [print list$]"
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.Execute Pause:=False
End With
Application.StatusBar = "Now creating document for " & Left(FName,
Len(FName) - 4)
appWD.ActiveDocument.SaveAs (ThisWorkbook.Path & "\merged" &
Format(Date, "dd-mm-yyyy") & "-week" & _
Worksheets("label order").Range("Q4").Value),
FileFormat:=wdFormatDocument
appWD.ActiveDocument.Close
appWD.Documents("label merge-auto.doc").Close savechanges:=False
appWD.Quit
Set appWD = Nothing
Application.StatusBar = False
End Sub
I amtrying to mail merge information from a worksheet into a mail merge word
document. Everything works fine, except it laves a process running once I
quit excel.
The mail merge is called from the same file as the informationto merge and
excel is closed manually by the user.
The code works correctly in 07 (well no process I can see is left), but it
needs to run in excel 2003 and this is where the left over process is
happening.
the code is as follows;
Sub print_Click()
Dim FName As String
Dim appWD As Object ' Word.Application
Dim UserN As String
Dim DesktopPath As String
On Error Resume Next
Application.StatusBar = "Starting mail merge ..."
FName = Dir(ThisWorkbook.Path & "\addresses.xls")
If appWD Is Nothing Then
Set appWD = CreateObject("Word.Application") ' New Word.Application
End If
appWD.Documents.Open Filename:=ThisWorkbook.Path & "\label
merge-auto.doc"
With appWD.ActiveDocument.MailMerge
.OpenDataSource Name:=ThisWorkbook.Path & "\" & FName,
sqlstatement:="SELECT * FROM [print list$]"
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.Execute Pause:=False
End With
Application.StatusBar = "Now creating document for " & Left(FName,
Len(FName) - 4)
appWD.ActiveDocument.SaveAs (ThisWorkbook.Path & "\merged" &
Format(Date, "dd-mm-yyyy") & "-week" & _
Worksheets("label order").Range("Q4").Value),
FileFormat:=wdFormatDocument
appWD.ActiveDocument.Close
appWD.Documents("label merge-auto.doc").Close savechanges:=False
appWD.Quit
Set appWD = Nothing
Application.StatusBar = False
End Sub