local oRange select print1 && a little test table _VFP.DataToClip(,,3) Thisform.oExcel = GetObject('','excel.sheet') oRange = Thisform.oExcel.Application.Range("A1",Chr(65+FCount()-1)+Alltrim(Str(RecCount()))) oRange.PasteSpecial() Thisform.oExcel.Application.Visible = .T.How many fields does your table have? If these are more than 26, you have to change the Range() call. The Chr() function merely converts 1 to 26 to "A" to "Z".