FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
cerrar objeto de excel
He consultado varias páginas en las que usan una misma misma instrucción xa cerrar excel (xlapp.quit), pero en tiempo de ejecución me dice "Project raised... class EOleError with message 'Method 'Quit' not supported in automation object'...". He probado varias cosas pero no consigo cerrar Excel y no sé pq no puedo obtener ayuda al respecto en el help de delphi.
Este es el código sencillo que uso: var XLApp: Variant; ... código de un botón: XLApp:= CreateOleObject('Excel.Application'); XLApp.Visible := false; XLApp.Workbooks.Add(xlWBatWorkSheet); XLApp.Workbooks[1].WorkSheets[1].Name := 'Delphi Data'; XLApp := XLApp.Workbooks[1].WorkSheets['Delphi Data']; for i := 1 to 10 do XLApp.Cells[i, 1] := i; XLApp.SaveAs('c:\temp2.xls'); código formdestroy: if not VarIsEmpty(XLApp) then begin XLApp.Quit; XLAPP := Unassigned; end; y en ese XLApp.Quit es donde siempre da error :-S Alguna idea? Entre otras muchas webs he visto esta de borland: http://community.borland.com/article...,10126,00.html pero veo que hace lo mismo que yo Incluso he leido aqui: http://community.borland.com/article...,10127,00.html Un apunte referente a que a CreateOleObject hay que pasarle la cadena exacta, en caso contrario dará error. He seguido los pasos, he mirado como dice en el registro y he cambiado el CreateOleObject por "XLApp:= CreateOleObject('Excel.Application.11');" que es lo que indica mi registro, pero seguimos con error en tiempo de ejecución en el .quit. Gracias a todos de antemano. Saludos Última edición por mak8888 fecha: 10-02-2006 a las 19:07:24. |
#2
|
||||
|
||||
Creo recordar haber respondido esto antes pero eso fue hace mucho antes, yo uso algo asi y nada de excepciones:
Código:
//Para abrir excel Variant xlApp; xlApp = CreateOleObject("Excel.Application"); //hacer visible EXCEL xlApp.Exec(PropertySet("Visible") << true); //Acceso a un objeto libro Variant xlBooks = xlApp.Exec(PropertyGet("Workbooks")); //crea un nuevo archivo xlBooks.Exec(Procedure("Add")); //elige el primer libro de la aplicación Variant xlBook = xlBooks.Exec(PropertyGet("Item") << 1); //crea un acceso a un objeto hoja Variant xlSheets = xlBook.Exec(PropertyGet("Worksheets")); //Elige una hoja Variant xlSheet = xlSheets.Exec(PropertyGet("Item") << 1); //En esta parte es en donde agregas los datos Variant VRange; VRange = xlSheet.Exec(PropertyGet("Range") << "A4"); VRange.Exec(PropertySet("Value") << "RUT"); VRange = xlSheet.Exec(PropertyGet("Range") << "B4"); VRange.Exec(PropertySet("Value") << "NOMBRE"); int fila=5; VRange = xlSheet.Exec(PropertyGet("Range") << "A"+IntToStr(fila)); VRange.Exec(PropertySet("Value") << Edit1->Text); VRange = xlSheet.Exec(PropertyGet("Range") << "B"+IntToStr(fila)); VRange.Exec(PropertySet("Value") << Edit2->Text); fila++; //Guarda el archivo xlBook.Exec(Procedure("SaveAs") << "\\archivo.xls"); //-------- Cierra excel //xlApp.Exec(PropertySet("Visible") << false); xlApp.Exec(Procedure("Quit")); xlApp.Clear();
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#3
|
|||
|
|||
Hola. Gracias por contestar. Probaré a traducirlo de Borland C a Delphi. Solo una pregunta, ¿que significa el "<<"?
Saludos y gracias de antemano |
#4
|
||||
|
||||
Oooops!!! peqeño detalle , es un operador sobrecargado q indica la inclusión de un valor a un objeto, pero concentrate en el " xlApp.Exec(Procedure("Quit"));" , o sea... trata de ejecutarlo dentro del Procedure, si necesitas como sea de un operador así a como de lugar ....entonces,.....este..............bueno.....habra q explorar las propiedades del variant en delphi...deberian ser las mismas......................sino...........pues invoca a un Delphiniano.......q mas te podria decir?
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#5
|
|||
|
|||
Gracias. Mañana después de haber dormido y estando a buenas con el compilador volveré a probar jejeje.
Ya os contaré. Saludos y gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Llevar desde Excel a una BD paradox | DarkSide | Servers | 39 | 08-09-2011 14:58:23 |
Esperar hasta que se cierre Excel | Er_Manué | Varios | 2 | 28-10-2005 04:08:18 |
Cerrar Excel | EstebanWeb | Servers | 5 | 20-12-2004 10:05:02 |
Cerrar excel desde una aplicaion delphi | VolaRe | Servers | 0 | 02-05-2004 20:41:20 |
al cerrar un libro se me cierra el Excel! | haron | Servers | 0 | 30-05-2003 11:07:26 |
|