LOCAL oExcel lcfile = 'C:\LOTUS97\123\WARPING1.WK4' SET CLASSLIB TO OLE_SVR ADDITIVE oExcel = CREATEOBJECT('ypm_size') RELEASE CLASSLIB OLE_SVR * Opens the file oExcel.OpenFile(lcfile) * Sets .Visible = .T. oExcel.MinimizeApp oExcel.MakeAppVisible * Allow the user to select the range _SCREEN.WindowState = 1 * Maximize Excel oExcel.MaximizeApp DO WHILE oExcel.oServer.WindowState = -4137 ENDDO _SCREEN.WindowState = 2 * Transfers data from a spreadsheet to a table oExcel.TransferData * Calls the .Quit() method oExcel.CloseApplication oExcel = NULL RELEASE oExcelI got rid of the display problem by always using CREATEOBJECT(), rather than testing for existence of the Excel server (via Is_Run32('Excel'), and calling GETOBJECT() if it exists (in the class Init Method). However, calling this twice, leaves two instances of Excel in the Tasker...I mean Task Manager (how's that Gonz< g >).