>>>>Define Class bIRexGenerador As Session OlePublic >>>> >>>>DataSession = 2 && Private Session >>>> >>>>PROCEDURE Generar >>>> >>>>PARAMETERS formatfile, outputfile,lclosefile,lsaveConfig,lAllowUserInteraction >>>> SET DELETED ON >>>> *!* CLEAR ALL >>>> *!* RELEASE ALL >>>> SET safety off >>>> *SET EXCLUSIVE ON >>>> SET EXCLUSIVE OFF >>>> CLOSE ALL >>>> >>>> lcOldError = ON("ERROR") >>>> runId=SYS(2015) >>>> logId=0 >>>> ON ERROR this.catchError() >>>> #include EXCEL.H >>>> [code] >>>> >>>>ENDPROC >>>> >>>>FUNCTION logs >>>> LPARAMETERS x >>>> IF ! ISNULL(oErr) AND TYPE("oErr") = "O" >>>> IF !hayError >>>> ErrorEncontrado = "Error"+STR(oErr.ErrorNo)+[ LineNo: ] + STR(oErr.LineNo) +[ Message: ] + oErr.Message +[ Procedure: ] + oErr.Procedure +[ Details: ] + oErr.Details +[ StackLevel: ] + STR(oErr.StackLevel) +[ LineContents: ] + oErr.LineContents +[ UserValue: ] + oErr.UserValue >>>> ENDIF >>>> ELSE >>>> IF !hayError >>>> ErrorEncontrado ="" >>>> ENDIF >>>> >>>> ENDIF >>>> >>>> **INSERT INTO log VALUES (x, DATETIME(), linea,user, formatfile, outputfile, ErrorEncontrado) >>>> INSERT INTO log VALUES (x, DATETIME(), fcRow,"Demo", formatfile, outputfile, ErrorEncontrado,RunId,LogId) >>>> logId=LogId+1 >>>> hayError=.F. >>>> **? x >>>> RETURN .t. >>>> >>>>ENDfunc >>>> >>>> >>>>FUNCTION GetSheet >>>> LPARAMETERS wbName,oXcel >>>> Encontrado=.f. >>>> FOR i=1 TO oXCEL.worksheets.Count >>>> IF UPPER(oXcel.worksheets(i).Name) = UPPER(wbName) >>>> Encontrado=.T. >>>> RETURN oXcel.worksheets(i) >>>> ENDIF >>>> ENDFOR >>>> oXcel.worksheets.ADD >>>> xlSheet = oXcel.activesheet >>>> xlSheet.NAME = wbName >>>> >>>> RETURN xlSheet >>>>ENDfunc >>>> >>>>FUNCTION valor >>>> LPARAMETERS x >>>> retval="" >>>> IF !ISNULL(x) >>>> DO case >>>> CASE TYPE("x")="C" >>>> retval=x >>>> CASE TYPE("x")="N" >>>> retval=STR(x) >>>> ENDCASE >>>> ENDIF >>>> RETURN retval >>>>ENDfunc >>>> >>>>PROCEDURE CatchError >>>> hayError=.t. >>>> ErrorEncontrado = 'error #' + transform( error() ) + ': "' + message() + '"' + 'program: ' + Program( Program(-1)-1) + 'line #' + transform( lineno() ) + ": " + message(1) >>>> =this.logs(errorencontrado) >>>> RETURN >>>>ENDPROC >>>> >>>>ENDDEFINE >>>> >>>>>>>>