Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2006
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Question Problema con traspaso de archivo jpg o bmp a excel

Estoy creando un archivo en excel con el componente TExcelAplication y necesito pasarle un archivo jpg o bmp. He visto en algunos foros que se puede hacer de la siguiente forma :

ActiveSheet.Pictures.Insert(ruta).select;

esto lo corroboré grabando una macro en excel donde inserto una imagen desde un archivo y al ver la macro me muestra esta misma instrucción.
Lo malo está que cuando creo esta linea en el programa me envia el error que ActiveSheet no esta declarado.
Intente hacerlo anteponiendo el TExcelApplication de la siguiente forma

xlapp.ActiveSheet.Pictures.Insert(ruta).select;

pero aqui me envia el arror de que Pictures no esta declarado.

¿Que me está faltando para solucionar el problema?
¿Hay que declarar ActiveSheet? ¿Como se haria?
Responder Con Cita
  #2  
Antiguo 09-08-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola revísate éste hilo a ver si te ayuda a completar lo que te falta

Espero te sirva

Saludos
Responder Con Cita
  #3  
Antiguo 09-08-2006
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Ya lo habia visto

Gracias Bicho pero ya habia visto ese hilo. Pero no me responde a la pregunta de por que no reconoce el ActiveSheet.
Responder Con Cita
  #4  
Antiguo 09-08-2006
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
Por eso no me gusta usar las componentes de la paleta Servers.

xlapp.ActiveSheet es de tipo IDispatch, o sea, una interfaz genérica. Así que debes hacer un moldeo para acceder a sus métodos y propiedades:

Código Delphi [-]
(xlapp.ActiveSheet as _WorkSheet).Pictures

Pero Pictures también es de tipo IDispatch y no tengo ni la más remota idea de como debe moldearse.

Sin embargo he podido hacer esto:

Código Delphi [-]
var
  Hoja: _WorkSheet;

begin
  ExcelApp.Workbooks.Add(EmptyParam, 0);
  Hoja := (ExcelApp.ActiveSheet as _WorkSheet);
  Hoja.Shapes.AddPicture('imagen.gif', 0, 1, 10, 10, 40, 60);
end;

esto es, usando la colección Shapes en lugar de Pictures. En este método los cuatro últimos parámetros son las coordenadas y dimensiones de la imagen: left, top, width, height. El segundo parámetro es para indicar si quieres la imagen copiada o sólo una referencia a ella (0 = copiada) y el tercer parámetro déjalo en 1.

// Saludos
Responder Con Cita
  #5  
Antiguo 09-08-2006
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Roman gracias esto si me resulto.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema traspaso de datos entre formularios hijos VRO OOP 6 30-03-2005 13:35:53
enviar registros a un archivo de excel srangel Internet 0 04-11-2004 05:50:32
Problema al actualizar Excel 2000 a Excel XP victork_py Servers 1 06-08-2004 19:20:41
Convertir un archivo excel a tabla .dbf JorgeBec Varios 2 11-06-2004 23:42:11
archivo plano y excel acertij022 Varios 1 15-05-2003 16:31:02


La franja horaria es GMT +2. Ahora son las 15:41:54.


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