Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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;
Hoja.Copy(null, Hoja, 0);

Hoja := Libro.ActiveSheet as _WORKSHEET;
Hoja.Name := 'Hoja' + IntToStr(Libro.Sheets.Count);

LimpiarHoja(Hoja);
Es decir, copio la hoja activa, asigno a la copia un nombre secuencial y finalmente limpio la hoja, es decir, borro sus datos. De esta manera el formato queda igual que la plantilla original pero con celdas vacías.

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
Responder Con Cita
  #2  
Antiguo 20-03-2004
OxaNet OxaNet is offline
Registrado
 
Registrado: mar 2004
Posts: 6
Poder: 0
OxaNet Va por buen camino
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,


Gracias por la ayuda.


Joseph

Lima - Perú
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:45:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi