![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Busca información sobre Automatización en Excel; Hay mucha información; Aquí en los foros y fuera de ellos.
Empieza por este y este.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#2
|
|||
|
|||
![]() Gracias, ensayare a ver como me va...
|
#3
|
|||
|
|||
Hola.
Por si acaso no encontraras lo que buscas, aquí te dejo el código fuente de una clase que me curré en su día para implementarla en Delphi 3 (aún no existía la paleta Servers ni nada de su contenido). Básicamente consiste en crearte un objeto OLE por medio de esta línea de código:
o intentar capturar alguna ejecución de Excel que ya esté activa en el PC con esto otro:
Después, todo el trabajo es idéntico a crearte macros en Visual Basic de Excel. Resulta luego curioso ver dentro del código Delphi líneas de código que son en realidad macros de VB. A continuación el código. Lo preparé para mi apaño personal, y con las cositas justas que fui necesitando. Así que tiene muchas carencias, pero espero que te valga.
|
#4
|
|||
|
|||
Se me olvidaba un consejo.
Para mayor agilidad a la hora de rellenar el contenido de las celdas del documento Excel te aconsejo que utilices un TMemo (aunque sea de forma temporal (en ejecución te lo creas y luego lo destruyes) y no sea visible en pantalla). En el TMemo vas metiendo el contenido de todas las celdas (o de una buena cantidad de ellas, si lo vas haciendo por bloques). Luego ejecutas el procedimiento CopyToClipboard del TMemo. Por último sólo te queda ejecutar el procedimiento Paste que pertenece al WorkSheet del documento Excel. Por ejemplo así:
En ese ejemplo el objeto MiExcel es del tipo TAplExcel que me creé. Sólo hay una pequeña pega. Y es que en ocasiones este truco es tan rápido que intenta hacer el Paste casi antes de haber terminado de ponerse en orden el Clipboard y entonces salta un mensaje de error. Por eso lo tengo encerrado en un bucle. Si no consigue hacer el Paste a la primera, lo normal es que siempre lo consiga a la segunda, pues ya ha pasado algo más de tiempo. Dentro del TMemo, lo que le vayas metiendo ahí, para separarlo por filas te valen los saltos de página, y para separarlo por columnas insertale caracteres de tabulación (#9). Un saludo. |
#5
|
|||
|
|||
![]() |
#6
|
|||
|
|||
![]() ![]() De nada, hombre. Para eso estamos. Por cierto acabo de acordarme de que no es necesario recurrir al TMemo para utilizar el Clipboard. Existe una unidad llamada ClipBrd que implementa el uso de objetos TClipboard, los cuales permiten trabajar con el ClipBoard de Windows. A continuación el mismo truco que antes, pero con el uso de la unidad ClipBrd.
En este ejemplo Datos es del tipo TStringList. ClipBoard no es un objeto, sino una función perteneciente a la unidad ClipBrd que retorna un objeto TClipBoard. El método SetTextBuf es el que copia texto en el ClipBoard de Windows. Este método recibe un PChar, por eso le paso el GetText del TStringList en vez del Text. En este ejemplo, además, el ClipBoard de Windows queda vacío después de cada copia. Como dije antes, el lado bueno de este truco es la velocidad de copiado sobre el documento Excel. Pero olvidé decir que hay que tener cuidado con los posibles copy-paste que el usuario esté haciendo por otro lado mientras este proceso se está ejecutando. Si el documento Excel que estás construyendo es tan sumamente grande que aunque utilices este truco, tarda mucho tiempo en terminarse de construir, el usuario podría aprovechar su tiempo abriendo otra aplicación distinta (por ejemplo un documento Word) para trabajar con ello mientras tu proceso termina. Los copy-paste que el usuario haga en esa otra aplicación podrían interferir perjudicialmente en la creación de tu documento Excel. Podrían copiarse en tu Excel los copy que el usuario hace en su Word, o copiarse sobre el Word del usuario lo que estas intentando exportar a tu documento Excel. No todo podían ser buenas noticias. ![]() |
#7
|
||||
|
||||
buenas
se que ha pasdo algun tiempo de este hilo, pero me interesa saber si alguien tiene un ejemploun poco mas concreto de como usar este unit... se ve interesante
|
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como utilizar Apis? | JoeyJordison | Varios | 5 | 12-01-2007 21:48:52 |
como Utilizar una DLL de VB | KaTo | Varios | 0 | 30-05-2004 19:01:30 |
como utilizar el UpdateSQL | Irina | SQL | 10 | 17-03-2004 15:35:39 |
Como utilizar un DCR y PAS | andrestsas | Varios | 1 | 26-10-2003 19:31:58 |
como utilizar sql plus | fcran | Oracle | 2 | 10-09-2003 02:44:01 |
![]() |
|