This worked ok for me from MSWord.
Option Explicit
Sub testme01()
Dim XLApp As Object
Dim XLWkbk As Object
Dim xlWks As Object
Dim testStr As String
Dim XLWasRunning As Boolean
Dim myFileName As String
myFileName = "C:\my documents\excel\book1.xls"
testStr = ""
On Error Resume Next
testStr = Dir(myFileName)
On Error GoTo 0
If testStr = "" Then
MsgBox myFileName & " wasn't found"
Exit Sub
End If
XLWasRunning = True
On Error Resume Next
Set XLApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set XLApp = CreateObject("Excel.Application")
XLWasRunning = False
End If
On Error GoTo 0
XLApp.Visible = True 'Nice for testing
Set XLWkbk = XLApp.workbooks.Open(FileName:=myFileName)
Set xlWks = Nothing
On Error Resume Next
Set xlWks = XLWkbk.worksheets("sheet1")
On Error GoTo 0
If xlWks Is Nothing Then
MsgBox "That sheet doesn't exist"
Else
xlWks.Range("a1").Value = "hi there"
End If
XLWkbk.Close savechanges:=True
If XLWasRunning Then
'do nothing
Else
XLApp.Quit
End If
Set xlWks = Nothing
Set XLWkbk = Nothing
Set XLApp = Nothing
End Sub