Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir hoja de excel sin visualizarla previamente (https://www.clubdelphi.com/foros/showthread.php?t=25626)

VRO 28-09-2005 17:27:22

Imprimir hoja de excel sin visualizarla previamente
 
Hola, no se como imprimir una hoja de excel desde delphi sin visualizarlo previamente.

He declarado un a aplication de excel en un datamodule, y he declarado un objeto exc de tipo variant.

Ya probe con exc.print, pero nada no consigo que se imprima, da un error de: Metodo 'print' not supported by automation object'

¿Cómo lo puedo hacer?.

P.D: utilizo delphi 6

Gracias de antemano

Er_Manué 27-10-2005 12:14:32

Para imprimir una hoja Excel sin visualizarla antes, únicamente tienes que emplear este código.

Código Delphi [-]
var
  Excel: Variant;
  miWBK, miWS : OleVariant;

  ...

begin
  try
    Excel := GetActiveOleObject('Excel.Application');
  except
    Excel := CreateOleObject('Excel.Application');
  end;

  // Impedimos que se muestre Excel
  Excel.Visible := false;
  
  // Abrimos el fichero .xls y obtenemos la hoja que necesitemos
  miWBK := Excel.WorkBooks.Open(rutaHojaExcel);
  miWS  := miWBK.Worksheets.Item[nombreHojaExcel];
  
  //  Realizamos todas las operaciones con la hoja excel ---------------------
  ...

  // Si quisieramos mostrar EXCEL antes de imprimir descomentamos el siguiente comentario :)
//  Excel.Visible := true;

  // Imprimimos la hoja excel (sin mostrar excel ya que Excel.Visible = false)
  miWS.PrintOut
    
  // Cerramos Excel ----------------------------------------------------------
  try
    Excel.DisplayAlerts := false;
    Excel.Quit;
  finally
    Excel := Unassigned;
  end;
end;

Salu2


La franja horaria es GMT +2. Ahora son las 22:26: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