As it's been a couple of hours and no-one's responded yet, perhaps I can set the ball rolling.
I suggest you start with a new Excel workbook for test purposes. In VBA, create a reference to the Microsoft Word Object Library (
Tools >
References) and then create a new general code module and paste this code into it:-
Code:
[FONT=Fixedsys]Option Explicit[/FONT]
[FONT=Fixedsys]Public Sub ModifyWordDoc()[/FONT]
[FONT=Fixedsys] Dim wordApp As Word.Application[/FONT]
[FONT=Fixedsys] Dim wordDoc As Word.Document[/FONT]
[FONT=Fixedsys] Dim wordRange As Word.Range[/FONT]
[FONT=Fixedsys] Dim sFilename As String[/FONT]
[FONT=Fixedsys] Set wordApp = CreateObject("Word.Application")[/FONT]
[FONT=Fixedsys][COLOR=magenta] sFilename = Application.GetOpenFilename(FileFilter:="Word documents (*.doc*), *.doc*")[/COLOR][/FONT]
[FONT=Fixedsys][COLOR=magenta] If sFilename = "False" Then Exit Sub[/COLOR][/FONT]
[FONT=Fixedsys] With wordApp[/FONT]
[FONT=Fixedsys] .WindowState = Word.WdWindowState.wdWindowStateMaximize[/FONT]
[FONT=Fixedsys] Set wordDoc = .Documents.Open(sFilename)[/FONT]
[FONT=Fixedsys] Set wordRange = wordDoc.Range[/FONT]
[FONT=Fixedsys] With wordRange[/FONT]
[FONT=Fixedsys][COLOR=blue] .Move wdStory, 1[/COLOR][/FONT]
[FONT=Fixedsys][COLOR=blue] .InsertAfter ThisWorkbook.Sheets(1).Range("A1").Value & vbCrLf[/COLOR][/FONT]
[FONT=Fixedsys] End With[/FONT]
[FONT=Fixedsys] .ActiveDocument.Save[/FONT]
[FONT=Fixedsys] .ActiveDocument.Close[/FONT]
[FONT=Fixedsys] .Application.Quit[/FONT]
[FONT=Fixedsys] End With[/FONT]
[FONT=Fixedsys] Set wordDoc = Nothing[/FONT]
[FONT=Fixedsys] Set wordApp = Nothing[/FONT]
[FONT=Fixedsys][COLOR=red] MsgBox "Done: " & sFilename & " modified" & Space(10), vbOKOnly + vbInformation[/COLOR][/FONT]
[FONT=Fixedsys]End Sub[/FONT]
To test, enter some text in cell A1 of your worksheet and run the code. The Word document must already exist - as this is what you indicated in your request - so create a new empty test document first if necessary. When the macro ends, open the document and check that the text in cell A1 of the worksheet has appeared in there.
The code in pink is for invoking a file dialog box for the selection of your Word document: if you wish to hard-code the file name, simply replace all of the pink code with an
sFilename="C:\Folder\Document.doc" type statement.
The
MsgBox command can be removed entirely if you wish, obviously.
The code in blue is the bit where you navigate your way through the Word document in order to find the exact place where you want your worksheet text to be inserted. Sadly, this is one bit I can't help you with. As it stands, the text will always be inserted at the end of the document - or at least I think that's what's happening! You need to find out what the correct Word commands are for moving to the correct place in your particular document, and replace my blue code with your own commands for doing this.
Hopefully this will give you a good start on your path to a solution.
**Edit: I see there's been another reply whilst I was cobbling this together. I'd go with Trevor's suggestion!