Ver Mensaje Individual
  #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
Reputación: 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