Delphi excel képbeszúrás

Üdv!
Delphi 5ben próbálkozom egy kép beillesztésével egy egyesített cellába ... különféle módszereket próbáltam, de sehogy sem tetszett neki. Ha valaki tud megoldást légyszives írja le, mert lassan agyvérzést kapok tőle.

unit leltar;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, DBXpress, SqlExpr,
WideStrings, ExtCtrls, DBCtrls, AppEvnts, alapanyagok, shellapi, ComObj,
OleServer, ExcelXP;

type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
DataSource1: TDataSource;
Table1: TTable;
Query1: TQuery;
ExcelOLEObject1: TExcelOLEObject;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBGrid1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure DBGrid1MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure DBGrid1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure DBGrid1TitleClick(Column: TColumn);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;
posi: integer;
maxsor: integer;
rekord : string;
ertek : string;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var a:string;
c:integer;
sor:integer;
d:integer;
f2 : textfile;
t : tdatetime;
ev,honap,nap: word;
ora,perc,mp,smp:word;
d2 : tdatetime;
FExcel: OleVariant;
FWorkbook: OleVariant;
FWorksheet: OleVariant;
i,j : Integer;
begin
d2:=date;
FExcel:=CreateOleObject('excel.application');
FExcel.Visible:=False;
FWorkBook:=FExcel.WorkBooks.Add;
FWorkSheet:=FWorkBook.WorkSheets.Add;
fworksheet.range['a1:b1'].mergecells:=true;
fworksheet.range['a1:b1'].value:='SIC Hungary Kft. -';
fworksheet.range['c1'].value:=d2;
fworksheet.range['a1:c1'].Font.bold:=true;
fworksheet.range['a1:c1'].font.size:=12;
fworksheet.range['a1:b1'].horizontalalignment:=xlright;
fworksheet.range['c1'].horizontalalignment:=xlleft;
for i:=0 to Table1.FieldCount-2 do
begin
fworksheet.range[chr(i+65)+'3'].Value:=dbgrid1.Columns.Items[i].FieldName;
end;
i:=0;
Table1.First;
while not Table1.Eof do
begin
for j:=0 to Table1.FieldCount-2 do fworksheet.range[chr(j+65)+inttostr(i+4)]:=Table1.Fields[j].Value;
inc(i);
Table1.Next;
end;
fworksheet.range['a3:a'+inttostr(Table1.RecordCount+3)].ColumnWidth:=6;
fworksheet.range['b3:b'+inttostr(Table1.RecordCount+3)].ColumnWidth:=24;
fworksheet.range['c3:c'+inttostr(Table1.RecordCount+3)].ColumnWidth:=13;
fworksheet.range['A3:'+chr(Table1.FieldCount-2+65)+'3'].font.bold:=true;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].font.size:=12;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].Interior.color:=clblue;
fworksheet.Range['c4:c'+inttostr(Table1.RecordCount+3)].font.bold:=true;
fworksheet.Range['c4:c'+inttostr(Table1.RecordCount+3)].font.color:=clblue;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].font.color:=clwhite;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].HorizontalAlignment:=xlCenter;
fworksheet.Range['A3:a'+inttostr(Table1.RecordCount+3)].HorizontalAlignment:=xlleft;
fworksheet.Range['b3:b'+inttostr(Table1.RecordCount+3)].HorizontalAlignment:=xlCenter;
fworksheet.Range['c3:c'+inttostr(Table1.RecordCount+3)].HorizontalAlignment:=xlright;
fworksheet.Range['A4:c'+inttostr(Table1.RecordCount+3)].Borders.Weight := xlmedium;
fworksheet.Range['a3:c3'].BorderAround(xlcontinuous,xlthick,1,1);
fworksheet.Range['a3:'+chr(Table1.FieldCount-2+65)+inttostr(Table1.RecordCount+3)].BorderAround(xldouble,xlthick,1,1);
fworksheet.range['e4:f14'].mergecells:=true;
fworksheet.pictures.insert('c:\users\sic2.png'); -- Itt keletkezik a probléma
FWorkbook.SaveAs(PChar(ExtractFilePath(ParamStr(0)))+'proba.xls');
FExcel.Quit;
FExcel:=unassigned;
screen.cursor:=crDefault;
assignfile(f2,'c:\log.txt');
append(f2);
t:=time;
decodetime(t,ora,perc,mp,smp);
decodedate(d2,ev,honap,nap);
writeln(f2,inttostr(ev)+'.'+inttostr(honap)+'.'+inttostr(nap)+' '+inttostr(ora)+':'+inttostr(perc)+' '+'Adatbázis exportálás (Vegyszer)');
closefile(f2);
ShellExecute(Handle, 'open', 'C:\users\proba.xls', nil, nil, SW_SHOWNORMAL);
end;

Könyvajánló

Programozzunk Turbo Delphi Rendszerben