What version of VFP are you using? Why wouldn't you rather use a designed report in VFP it is fater than using word?
Here is a brief sample to format word.
This is only a portion of the procedure.
WAIT WIND "Creating Word Document..." NOWAIT
ox=CREATEOBJECT("word.application")
ox.documents.ADD
ox.activedocument.pagesetup.topmargin = (vtopmargin*72)
ox.activedocument.pagesetup.bottommargin = (vbotmargin*72)
ox.activedocument.pagesetup.leftmargin = (vleftmargin*72)
ox.activedocument.pagesetup.rightmargin = (vrightmargin*72)
GO TOP
ox.SELECTION.FONT.NAME = "Times New Roman"
ox.SELECTION.FONT.bold = .T.
ox.SELECTION.FONT.SIZE = 18
ox.SELECTION.paragraphformat.ALIGNMENT = 1
ox.SELECTION.typetext("Complimentary Ticket Detail Report")
ox.SELECTION.typeparagraph
ox.SELECTION.FONT.SIZE = 12
ox.SELECTION.typetext(IIF(refselect = 1," - by Show Date -,IIF(refselect=2,"- by Refund Date-","-by All Dates")))
ox.SELECTION.typeparagraph
ox.SELECTION.FONT.italic = .T.
ox.SELECTION.typetext(DTOC(DATE()))
ox.SELECTION.typeparagraph
ox.SELECTION.FONT.italic = .F.
ox.SELECTION.FONT.SIZE = 10
ox.SELECTION.FONT.bold = .T.
ox.SELECTION.typetext(rfilter)
ox.SELECTION.typeparagraph
ox.SELECTION.typeparagraph
ox.SELECTION.paragraphformat.ALIGNMENT = 3
ox.SELECTION.typeparagraph
ox.SELECTION.FONT.SIZE = 8
ox.SELECTION.paragraphs.tabstops.ADD(.75*72)
ox.SELECTION.paragraphs.tabstops(1).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(2.25*72)
ox.SELECTION.paragraphs.tabstops(2).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(3.75*72)
ox.SELECTION.paragraphs.tabstops(3).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(4.5*72)
ox.SELECTION.paragraphs.tabstops(4).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(4.875*72)
ox.SELECTION.paragraphs.tabstops(5).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(5.125*72)
ox.SELECTION.paragraphs.tabstops(6).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(5.75*72)
ox.SELECTION.paragraphs.tabstops(7).ALIGNMENT=0
ox.SELECTION.paragraphs.tabstops.ADD(7*72)
ox.SELECTION.paragraphs.tabstops(8).ALIGNMENT=2
ox.SELECTION.paragraphs.tabstops.ADD(7.125*72)
ox.SELECTION.paragraphs.tabstops(9).ALIGNMENT=0
This is in points - multiply by 72 to get inches
ox.SELECTION.typetext(REPLICATE("=",94))
ox.SELECTION.typeparagraph
ox.SELECTION.typetext("Show Date"+CHR(9)+"Show Name"+CHR(9)"Show Time"+CHR(9)+"Section"+CHR(9)+"Row"+CHR(9)+"Seat"+CHR(9)+"Ref. Date"+CHR(9)+"Type"+CHR(9)+"Amount"+CHR(9)+"Operator")
ox.SELECTION.typeparagraph
ox.SELECTION.typetext(REPLICATE("=",94))
ox.SELECTION.typeparagraph
vrestot = 0
vamttot = 0
DO WHILE !EOF()
ox.SELECTION.typetext(DTOC(showdate)+CHR(9)+ALLTRIMhowname)+CHR(9)+ALLTRIM(showtime)+CHR(9)+ALLTRIM(vsection)+CHR(9)+ALLTRIM(vrow)+CHR(9)+ALLTRIM(STR(vseat,2,0))+CHR(9)+DTOC(refunddate)+CHR(9)+ALLTRIM(pmttype)+CHR(9)+ALLTRIM(STR(amt,12,2))+CHR(9)+ALLTRIM(STR(opcode,4,0)))
ox.SELECTION.typeparagraph
vrestot = vrestot + 1
vamttot = vamttot + amt
SKIP
ENDDO
ox.SELECTION.typeparagraph
ox.SELECTION.typetext(REPLICATE("=",94))
ox.SELECTION.typeparagraph
ox.SELECTION.typetext("Total # Tickets Refunded: "+ALLTRIMSTR(vrestot,12,0))+CHR(9)+CHR(9)+CHR(9)+CHR(9)+CHR(9)+"Total Amount Refunded:"+CHR(9)+"$ "+ALLTRIM(STR(vamttot,12,2)))
ox.SELECTION.typeparagraph
ox.SELECTION.typeparagraph
ox.activedocument.SAVEAS(vspf)
ox.activedocument.CLOSE
ox.QUIT
RELEASE ox
WAIT WIND "Done! " NOWAIT
Jim