
ben sorunu hala tam olarak halledemedim.mege nin yolladıgı kodu kendime gore degistirdim ve iki bmp 'yi de birlestirdim.fakat durum pek hos degil.excel sayfası sadece 42.satıra kadar bmp yi eklıyor. dolayısıyla 2.bmp dosyası sıkısık bi sekil de gorunuyor."excelfile." dediğimde de hata veriyor.(excelfile in sayfa yuksekliğini degiştirsen olur gibime gelmişti ama olmadı)bu arada rich editlerin içeriğide bmp'de gozukmuyor.(plain özelliğini true yapmmama ragmem.halbuki diğer textlerin içeriği gorunuyor.)
yazdırma komutu için yazdıgım kod:
Kod: Tümünü seç
procedure TForm1.Yazdr2Click(Sender: TObject);
var //capture için
MyBMP,m,m3 : TBitMap;
MyJPEG : TJPEGImage;
// excel için
ExcelFile :variant;
ExcelSheet :variant;
begin
MyBMP:=TBitMap.Create;
m:=TBitMap.Create;
MyJPEG := TJPEGImage.Create;
try
form1.VertScrollBar.Position:=0;
MyBMP:=Getformimage;
form1.VertScrollBar.Position:=450;
m:=Getformimage;
MyBMP.SaveToFile(ExtractFilePath(Application.ExeName)+'Page.bmp');
m.SaveToFile(ExtractFilePath(Application.ExeName)+'Page1.bmp');
MyBMP.Canvas.CopyRect(rect(0,310,m.Width,m.Height),m.Canvas,rect(0,0,m.Width,m.Height));
MyJPEG.Assign(myBMP);
MyJPEG.SaveToFile(ExtractFilePath(Application.ExeName)+'Page.jpg');
finally
myBMP.Free;
m.Free;
MyJPEG.Free;
end;
ExcelFile:=createoleobject('excel.application');
ExcelFile.workbooks.add;
ExcelFile.activeworkbook.worksheets[1].Name := 'Resim';
ExcelSheet:=ExcelFile.activeworkbook.worksheets[1].cells[1];
ExcelFile.activeworkbook.worksheets[1].Pictures.
Insert(ExtractFilePath(Application.ExeName)+'Page.jpg');
ExcelFile.visible:=True;//Exceli acip verileri
//ExcelFile.ActiveWorkbook.SaveAs('c:\b.xls', -4158, False);
ExcelFile.ActiveWorkbook.Saved:=TRUE;
//ExcelFile.ActiveWorkbook.SaveCopyAs('c:\d.xls');
//ExcelFile.quit;
ExcelFile:=Unassigned;
end;