You need to try the getobject function if this does not get a current instance of word you need to trap the error and start an instance of it yourself. Heres the VB:<br>
<br>
<FONT FACE=monospace><br>
Dim Words As Word.Application<br>
Dim istr As String<br>
Dim today As Date<br>
Dim ires, inday As Integer<br>
Dim docs As Word.Document<br>
<br>
Screen.MousePointer = 11<br>
<br>
Label1.Caption = "Connecting to Database...."<br>
Label1.Refresh<br>
<br>
<br>
'Call connect function which creates view for merge<br>
connect (inday)<br>
<br>
Label1.Caption = "Merging Data...Please Wait"<br>
<br>
On Error GoTo trap<br>
<br>
'Open an current instance of Word, if running<br>
Set Words = GetObject(, "Word.Application"

<br>
<br>
Words.Visible = True<br>
<br>
Word.Documents.Open FileName:=App.Path & "\mmletter.doc", ConfirmConversions:=False, _<br>
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _<br>
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _<br>
WritePasswordTemplate:="", Format:=wdOpenFormatAuto<br>
<br>
'Restore the Word if it was minimized.<br>
Words.WindowState = wdWindowStateMaximize<br>
<br>
'Begin the merge process!!!!<br>
<br>
<br>
<br>
MergeExit:<br>
<br>
Screen.MousePointer = 1<br>
Label1.Caption = "Finished Merge!"<br>
Label1.Refresh<br>
Set Words = Nothing 'Kill the word connection<br>
Exit Sub<br>
<br>
trap:<br>
'minimal error trapping<br>
If Err = 429 Then<br>
'If we get an error of 429 - no instance running, create an<br>
'instance and resume at the next line<br>
Set Words = GetObject("", "Word.Application"

<br>
Resume Next<br>
Else<br>
'Else, report error code and description<br>
ires = MsgBox("Error " & Err & " - " & Error, vbCritical, "Insular System"

<br>
End If<br>
<br>
Resume MergeExit<br>
<br>
<br>
End Sub<br>
</font><br>
<br>