One thing I noticed is you may have to have ActiveSheet proceed each method.
As an example, here's a short macro that saves the data from each cell in row H into a word document.
The macro is saved in an empty Excel file and it works for any Excel file loaded (assuming the empty Excel file with the macro is also loaded).
Without ActiveSheet preceeding things like Range("H" & i).Copy, the macro will try to do stuff with the Empty Excel file that has the macro.
Dim I As Integer
Dim finalRow as Integer
Dim appWD As Object
Dim myString as String
Dim numberOne as String
Dim numberTwo as Strng
Dim myFilename As String
' Create a new instance of Word & make it visible
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
'Find the last row with data in the database
finalRow = ActiveSheet.Range("A9999").End(xlUp).Row
For I = 2 To finalRow
myString = ActiveSheet.Range("a" & i).Value
' these two cells are both alphanumeric cells; first two characters are always numbers
numberOne = Left(ActiveSheet.Range("b" & i).Value, 2)
numberTwo = Left(ActiveSheet.Range("c" & i).Value, 2)
' Build the unique filename.
' In my Excel file these three elements are sufficient to make the filename unique
myFilename = myString & " " & numberOne & " " & numberTwo
' We want to put the data from cell H into a word doc
ActiveSheet.Range("H" & i).Copy
' Tell Word to create a new document
' Tell Word to paste the contents of the clipboard into the new document
' Save the new document with the filename and close the word document
appWD.ActiveDocument.SaveAs filename:= myFilename
' Close the Word application