lcSourceDoc = SYS(5)+CURDIR()+'Source.xls' oWord=CREATEOBJECT("word.application") && Create word object WITH oWord .documents.ADD WITH .ActiveDocument.Mailmerge .OpenDataSource(m.lcSourceDoc) && Set file as data source for mailmerge .EditMainDocument && Activate the main document .OpenDataSource(lcSourceDoc , False,False,true,False,"","","","",False,wdOpenFormatAuto,"Entire Spreadsheet","","",wdMergeSubTypeOther) .FIELDS.ADD(oWord.SELECTION.RANGE, NAME:= _ "fullname" SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE, "last_name") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"first_name") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"middle_name") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"salutation") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"hcity") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"hstate") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"hzip") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"phonenumber") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"email") oWord.SELECTION.TypeParagraph .FIELDS.ADD(oWord.SELECTION.RANGE,"company") ENDWITH ENDWITH WITH oWord.ActiveDocument.Mailmerge .Destination = wdSendToNewDocument .SuppressBlankLines = true WITH .DATASOURCE .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord ENDWITH .Execute(False) ENDWITHThanks