PDA

Ver la Versión Completa : Funciones de Excel desde delphi


JuanPa1
14-09-2006, 00:10:45
Hola a todos, quiero desde delphi utilizar la siguiente funcion de excel que me permita sumar los valores de una columna siempre que se cumpla una condicion en otra columna.
La funcion que necesito es esta, la misma que en excel me funciona perfectamente:
=SUMAR.SI(C4:C40;"=Excelente";D4:D40)

En delphi al sumar solo los valores de una columna sin comprobar ninguna condición me funciona bien la siguiente linea:

ExcelA.Range['D'+LineString, 'D'+LineString].Value[oleVar]:='=sum(D4:D40)';

Mi problema es que no se como deberia codificar esa funcion en delphi, le he puesto igual que la anterior funcion y la aplicacion se ejecuta pero cuando llego a la parte que debe mostrar el archivo de excel con el resultado de la funcion me da el error 'OLE error 800A03EC'.

Si alguien tiene alguna idea o sugerencia de como solucionar esto le agradeceria.

roman
14-09-2006, 00:17:09
Fíjate que en el segundo caso utilzas SUM y no SUMAR. Hasta donde he visto, no puedes usar los nombres en español via OLE, debes usar los nombres en inglésde las funciones.

// Saludos

JuanPa1
14-09-2006, 17:09:49
Ya le he cambiado de lenguaje y me sigue dando el mismo error. Mira estoy tratando de utilizar esta funcion porque tengo el mismo problema con un TQRExpr la misma que nose como obtener el resultado de esta expresion para luego ese resultado pasarselo a excel.
La expresion es esta: Sum(if(ADOReportLogin.Answer_Code = 1, ADOReportLogin.Total, 0))
Si tienes alguna idea de como obtener el resultado de esta expresion te agradeceria, he buscado en el foro pero lo que ahi encontre no me ayudo a resolver esto.

roman
14-09-2006, 17:59:10
Pero tal como la pones aquí es muy distinta de la anterior y no puede funcionar así. A Excel tienes que pasarle algo que entienda, como SUM o IF, pero no puedes pasarle directamente código Delphi como ADOReportLogin.Answer_Code o ADOReportLogin.Total.

// Saludos