Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
|
|
Skicka en QuickReport med Microsoft Outlook
|
Kategori: Objekt/ActiveX
Inlagt: 2005-01-03
Läst: 2098
Inlagt av: Staffan Berg
|
Beskrivning |
Med hjälp av detta exempel kan du skicka en rapport (skapad med QuickReport) via Outlook som en bifogad fil.
|
Kod |
uses [..], Outlook8, OleServer, COMobj, ActiveX; [..] procedure TfrmKuProt.sbtMailClick(Sender: TObject); VAR Outlook : OutlookApplication; Unknown : IUnknown; Result : HResult; MI : MailItem; Insp : Inspector; x : Integer; aExportFilter: TQRExportFilter; wmf : TQRWMFFilter; CONST olMailItem = 0; BEGIN qr.Prepare; try wmf := TQRWmfFilter.Create(NIL); wmf.Enhanced := TRUE; aExportFilter := TQRExportFilterLibraryEntry( QRExportFilterLibrary.Filters[4]).ExportFilterClass.Create('c:\rpt.bmp'); qr.QRPrinter.ExportToFilter(aExportFilter); wmf.Free; finally aExportFilter.Free end; // via early binding: Result := GetActiveObject(CLASS_OutlookApplication, nil, Unknown); if Result = MK_E_UNAVAILABLE then Outlook := CoOutlookApplication.Create else begin // make sure no other error occurred during GetActiveObject OleCheck(Result); OleCheck(Unknown.QueryInterface(OutlookApplication, Outlook)); end; MI := Outlook.CreateItem(olMailItem) as MailItem; MI.Recipients.Add(' @'); MI.Attachments.Add('c:\rpt.bmp',EmptyParam, EmptyParam, EmptyParam); MI.Subject := 'Your sheet Y'; MI.Body := 'Dear Mr. Dredd,'#13#10#13#10'Enclosed please find ..'#13#10; Insp := MI.GetInspector; Insp.Display(False); Showmessage('Please click OK when Outlook is finished.'); Screen.Cursor := crHourglass; Outlook.Quit; Outlook := nil; end;
|
|
|