Error Excel.Application/0 S_OK: SAVEAS

Post Reply
User avatar
cuatecatl82
Posts: 614
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México
Contact:

Error Excel.Application/0 S_OK: SAVEAS

Post by cuatecatl82 »

Hola colegas:

Despues de estar un rato sin programar por cambios administrativos en la empresa he regresado con una duda, ya que surge la necesidad de exportar archivos de Excel 2003 a DBF`s para alimentar una tabla de productos, buscando en el foro encontre unos ejemplos de como poder realizarlo, pero al guardar con la funcion save me genera el siguiente error:

Application
===========
Path and name: D:\xls2dbf\XLS2DBF.Exe (32 bits)
Size: 1,380,352 bytes
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 07/27/10, 13:25:16
Error description: Error Excel.Application/0 S_OK: SAVEAS
Args:
[ 1] = C D:\xls2dbf\prueba.xls
[ 2] = N 8
[ 3] = C
[ 4] = C
[ 5] = L .F.
[ 6] = L .F.

Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:SAVEAS(0)
Called from: XLS2DBF.prg => MAIN(13)

System
======
CPU type: Intel(R) Pentium(R) 4 CPU 2.66GHz 2666 Mhz
Hardware memory: 248 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Compiler version: xHarbour build 1.1.0 Intl. (SimpLex)
Windows version: 5.1, Build 2600 Service Pack 2

este es el codigo que uso:

Code: Select all

#Include "FIVEWIN.CH"
#Define   xlDBF3 8


FUNCTION MAIN()

LOCAL oExcel,oHoja

oExcel:= TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Open("D:\xls2dbf\zapatos.xls")   // Abres el libro
oExcel:Sheets("1"):SELECT()                       // Seleccionas la hoja (la activas)
oHoja:= oExcel:GET( "ActiveSheet" )              // Tomas la hoja activa y.. listo
oExcel:SaveAs("D:\xls2dbf\prueba.dbf", xlDBF3,"","",.F.,.F.)     //aki truena el error.
oExcel:WorkBooks:CLOSE()
oExcel:QUIT()

RETURN NIL
He buscado en la ayuda sobre este error, pero no doy con el clavo, no se si ya me oxide despues de casi un año sin programar :oops: :oops: o algo estoy haciendo mal, la hoja es en Excel 2003 y 2007 y es simple: 2 columnas de caracteres y 2 numericas, no tengo mucha info sobre el control de OLE`s, estoy buscando informaciòn, no se que significa los numeros 8 y -4143 si alguien pudiera proporcionar una guia de esto le estare agradecido.. :roll:

Saludos a la Comunidad.. :wink:
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
George
Posts: 710
Joined: Tue Oct 18, 2005 6:49 pm

Re: Error Excel.Application/0 S_OK: SAVEAS

Post by George »

Victor
Usando la clase TExcelScript:

Code: Select all

     oExcel1 := TExcelScript():New()
     oExcel1:Open(cFileCSV)
     cFile2 := alltrim(cFileCSV)
     oWorkbook = oExcel:WorkBooks:Open( cFile2 )
     oSheet = oExcel:ActiveSheet
     oSheet:Visible := TRUE
     oSheet:SaveAs( NewDBF, xlDBF3 )
     oWorkBook:Close( .F. )
     oExcel:Quit()
 
Saludos,

George
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: Error Excel.Application/0 S_OK: SAVEAS

Post by mmercado »

Hola Víctor:

A partir de Office 2007 ya no puedes exportar a bases de datos tipo dBase como es el caso que mencionas.

Te recomiendo exportar a un archivo csv y posteriormente agregar los registros a la base de datos con el mandato Append From.

Desde aquí podrás descargar un archivo con las definiciones de las constantes usadas por los métodos de EXcel TOleAuto.
http://www.box.net/shared/kc0s5a81il

La instrucción para guardar como csv sería:

Code: Select all

oExcel:SaveAs("D:\xls2dbf\prueba.csv", xlCSV)
Un abrazo.

Manuel Mercado Gómez.
manuelmercado at prodigy dot net dot mx
User avatar
cuatecatl82
Posts: 614
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México
Contact:

Re: Error Excel.Application/0 S_OK: SAVEAS

Post by cuatecatl82 »

George:

No sabia que tambien se podia hacer desde TExcelScript, vere si encuentro info al respecto para continuar con mi trabajo. :) :) :lol: :lol:

Manuel:

Suponia que ya no se podría exportar a DBF, ya que el comando Guardar como.. ya no trae le opcion DBF compatible con DBase como en Excel 2003. Todavia sigo investigando como trabajar de Escel a DBF, Gracias por tu ayuda.. :lol: :lol: :)

Saludos a todos..
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Post Reply