PDA

Ver la Versión Completa : Formatos de celdas en Excel


lgarcia
27-01-2005, 14:49:36
Hola amigos del Club

Tengo el siguiente problema en un fichero que genero en Excel y es que parto de una plantilla que esta formateada pero cuando se crea el fichero final no coje el formato. Estudie varios hilos del Club relacionado con el tema pero utilizan una propiedad Range pero he probado varias veces y no doy pie con bola.

Mi codigo es el siguiente:
procedure TFormLoteVentas.SpeedButton2Click(Sender: TObject);
var
Excel, Libro: Variant;
i: integer;
Nombre, NombreNuevo: string;
begin
Excel:=CreateOleObject('Excel.Application');
Excel.Visible := False;
Nombre:= 'E:\Tiendas\Admon\ventastxt.xlt';
Excel.DisplayAlerts:= False;
Excel.WorkBooks.Add(1);
Excel.WorkBooks[1].WorkSheets[1].Name := 'Reporte';
Libro := Excel.WorkBooks[1].WorkSheets['Reporte'];
MostrarLote.First;
i:= 2;
Libro.Cells [1,1] := 'Codigo';
Libro.Cells [1,2] := 'Descripcion';
Libro.Cells [1,3] := 'Cantidad';
Libro.Cells [1,4] := 'Precio venta';
Libro.Cells [1,5] := 'Importe';
while not (MostrarLote.Eof) do
begin
Libro.Cells [i,1] := MostrarLotecodtrasval.Value;
Libro.Cells [i,2] := MostrarLotedescripcionplu.Value;
Libro.Cells [i,3] := MostrarLotecantidad.Value;
Libro.Cells [i,4] := MostrarLoteprecioventa.Value;
Libro.Cells [i,5] := MostrarLotemontoventa.Value;
inc(i);
MostrarLote.Next;
end;
NombreFichero;
NombreNuevo:= 'Venta ' + CBTienda.Text + ' ' + fechasalida;
Libro.SaveAs('E:\Tiendas\Admon\' + NombreNuevo);
ShowMessage(' El fichero ' + NombreNuevo + ' ha sido creado exitosamente');
Excel.Quit;
end;

Me gustaria saber como utilizar el Range en mo codigo

Muchas gracias
Luis Garcia

njm
28-01-2005, 20:31:37
por ejemplo para poner el titulo en negrita y achurado sería:

with libro.range['A1','E1'] do begin
font.FontStyle := 'Bold';
interior.pattern := 'xlGray16';
end;

Saludos
Nelson