Procedure ToTiff(p_Printer: PrinterDriver; p_InputFile, p_OutputFile: String);
var ExcelApp: ExcelApplication;
var Workbook: ExcelWorkbook;
var Worksheet: ExcelWorksheet;
var ReadOnly: OleVariant;
var Missing: OleVariant;
var LocaleID: Integer;
var SaveChanges: OleVariant;
begin
// Create a Excel's Application object
ExcelApp := CoExcelApplication.Create;
ReadOnly := True;
Missing := Variants.EmptyParam;
// Set en-US locale or call GetThreadLocale
LocaleID := $0409;
Workbook := ExcelApp.Workbooks.Open(p_InputFile, 2, ReadOnly, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, LocaleID);
// Loop through each worksheet
for Worksheet in Workbook.Worksheets do
begin
Writeln(' - Processing worksheet ', Worksheet.Index, ' (', Worksheet.Name, ')');
end;
// Close the workbook and exit excel
SaveChanges := False;
Workbook.Close(SaveChanges, Missing, Missing, LocaleID);
ExcelApp.Quit;
end;