Maiko, zoals ik in je vorige post al zei, kan een beetje zoekwerk op dit forum wonderen doen. Tik gewoon EXCEL in en je krijgt talloze vragen en oplossingen te zien.
Hieronder een uitgewerkt voorbeeldje om excel te starten, een bestand te openen en in de eerste 10 cellen 'test' weg te schrijven en natuurlijk te printen.
Ik heb het niet getest maar het zou wel moeten werken.
Code:
procedure TForm1.Button2Click(Sender: TObject);
//Objecten naar Excel exporteren
var
vExcelApp : TExcelApplication;
vWorkSheet : TExcelWorksheet;
vWorkBook : _WorkBook;
vSaveChanges: OLEVariant;
vFileName : string;
ii, LCID : integer;
begin
vExcelApp:= TExcelApplication.Create(nil);
vExcelApp.ConnectKind:= ckNewInstance;
try
vExcelApp.Disconnect;
vExcelApp.Connect;
vExcelApp.Visible[0]:= True; // Maak excel zichtbaar of niet
vFileName:= 'filenaam.xls'; //geef hier het te openen excelbestand in
vWorkBook :=vExcelApp.Workbooks.Open(vfileName, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, LCID);
vWorkSheet:= TExcelWorksheet.Create(nil);
vWorksheet.ConnectTo(vWorkBook.ActiveSheet as _Worksheet);
for ii:= 1 to 10 do
begin
vWorkSheet.Cells.Item[1, ii]:= 'test';
end;
vWorkSheet.PrintOut; // laat deze regel weg als je de sheet niet wilt uitprinten
vSaveChanges := True;
vExcelApp.DisplayAlerts[LCID] := False;
vWorkBook.Close(vSaveChanges, vFileName, EmptyParam, LCID);
vWorkSheet.Disconnect;
FreeAndNil(vWorkSheet);
vExcelApp.Quit;
vExcelApp.Disconnect;
FreeAndNil(vExcelApp);
MessageDlg('Export naar Excel beeindigd!', mtInformation, [mbOK], 0);
except
MessageDlg('Fout bij connectie met excel!', mtInformation, [mbOK], 0);
end;
end;
Bookmarks