![]() |
Necesito crear un Sheet Oculto en Excel
Saludos foro :
Les cuento, estoy desarrollando un sistema de control de minerales, antes los ususrios registraban los analisis en excel, yo desarrolle un form con las caracterisiticas parecidas, pero no le cuadra, no quieren usarlo, y el proyecto esta tambaleando. Por lo tanto necesito hacer q el sisitema interactue con Excel. Libro : _WORKBOOK; Hoja : _WORKSHEET; ... Excel es un compnente TExcelApplication ... 1ro Activo Excel con una Plantilla Excel.Connect; Excel.Visible[0] := true; Libro := Excel.Workbooks.Add(xFile+xPlantilla,0); Hoja := Libro.Sheets[1] as _WORKSHEET; Hoja.Name:='Plantilla'; 2do Necesito q la Hoja insertada sea oculta y utilizarla como plantilla. No puedo insertar otra hoja, deberia poder copiar las celdas de "Plantilla ", insertar una nueva hoja, ponerle nombre y luego pegar las celdas copiadas de la hoja de plantillas. 3ro Insertar mas Hojas. * Segun el trabajo se iran insertando mas hojas con distinto nombre pero copiando las celdas de la plnatilla. Bueno, es todo lo q se me ocurre. Vi los ejemplo, pero crean 8 Hojas de golpe, yo necesito ir creandolas una a una y en diferentes tiempos. Tengo otro problema cuando cierro la aplicaion y dejo Excel abierto, al cargar nuevamente la aplicacion e intentar cargar excel se cuelga, no se como liberar la variable de excel, ya probe con free y nada. Espero q alguien pueda ayudarme, los usuarios quieren tirar abajo el proyecto. Agradeceria cualquier sugerencia. Gracias Joseph Lima - Perú |
No estoy seguro de haber entendido pero te pongo una idea.
Tengo una situación similar en la que debo elaborar listas de alumnos de uno o más grupos. Cada grupo debe ir en una hoja distinta pero todas los hojas son iguales en cuanto al formato. En lugar de crear una hoja oculta lo que hago es crear la primera hoja a partir de una plantilla (como le haces tú, segun me parece) y lleno los datos. Cuando tengo que agregar una nueva hoja utilizo algo así: Código:
Hoja := Libro.ActiveSheet as _WORKSHEET; En el método LimpiarHoja simplemente borro las celdas que me interesen: Hoja.Cells.Item[Ren, Col] := ''; preservando las que sean comunes como títulos y demás. En cuanto a lo de que se cuelga quizá te sirva poner Excel.AutoQuit en true. // Saludos |
Tengo un error al pegar celdas copiadas
Gracias por la respuesta Sr. Moderador Roman, me sirvio mucho.
Estuve investigando y probando y probando y bueno, logre encontrar algunos hilos en el foro q me sirvieron. Y desarrolle lo siguiente. Utilizo : TExelApplication, TExcelWorkBook, TExcelWorkSheet * Me conecto a Excel * Abro el Arhivo (File.xls) * // El Libro de Excel tiene cierto numero de Hojas, q se crean dinamicamente de acuerdo a una condicion "x" en el nombre de la hoja , entonces si no cumple una condicion debo crear una hoja, en base a una de las hojas ya existentes. * Entonces si voy a crear una nueva hoja, me conecto a la hoja donde esta la plantilla. (la ubico por el nombre) // xRef : Index de la hoja con la plantilla // Me conecto ExcelWorkSheet1.ConnectTo(ExcelApplication1.Sheets[xRef] as _WorkSheet); // Copio las seldas selecciondas ExcelWorksheet1.Range['A1', 'DJ220'].Copy(EmptyParam); // Luego me conecto a la hoja nueva donde pegare las celdas copiadas, estas celdas tienen formulas ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook As _WorkBook); ExcelWorkBook1.Sheets.Add(EmptyParam,EmptyParam,1,1,0); ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets['Sheet1'] as _Worksheet); ExcelWorkSheet1.Paste(EmptyParam); // aqui da error * Tambien da error con : ExcelWorkSheet1.Paste(EmptyParam,EmptyParam); ExcelWorkSheet1.Paste(EmptyParam,EmptyParam,EmptyParam); ExcelWorkSheet1.Paste; // Me carga Visual Basic con el mensaje "Compile Error : Can't find project or library" * Espero q alguien pueda ayudarme, :confused: Gracias por la ayuda. Joseph Lima - Perú |
La franja horaria es GMT +2. Ahora son las 09:34:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi