Zum Hauptinhalt springen

Excel als PDF exportieren

Aufbau

TCommonLibrary.ExcelExportAsPDF(AMachine:TatVirtualMachine); // (sExcelFileName, sPDFFileName, bIncludeDocProperties, bIgnorePrintArea, iPageFrom, iPageTo, bOpenAfterPublish)

Typ

Vorgehensweise

Beschreibung

Die Prozedur TCommonLibrary.ExcelExportAsPDF dient als Weiterleitung zur Methode ExportAsFixedFormat in der OLE-Automatisierung von Excel (Windows-Treiber). Das bedeutet, dass für die ordnungsgemäße Funktion dieses Vorgangs Excel auf dem Server installiert sein muss.

Wenn das Skript das Dokument über OLE öffnen kann (wie bei der Methode [Workbooks.Open (Excel) | Microsoft Learn](https://learn.microsoft.com/en-us/office/vba/api/excel.workbooks.openhttps://learn.microsoft.com/en-us/office/vba/api/excel.workbooks.open“)), übergibt es alle Variablen an die Funktion ExportAsFixedFormat, wie hier dokumentiert: Worksheet.ExportAsFixedFormat-Methode (Excel) | Microsoft Learn

Der einzige fest codierte Parameter ist der zweite Quality-Parameter, der auf Standard (0) gesetzt ist.

Ein Blick hinter die Kulissen:

//Excel-Arbeitsmappe öffnen
try
ExcelWorkbook := ExcelApplication.Workbooks.Open(sExcelFileName);
//Referenz
//https://docs.microsoft.com/en-us/office/vba/api/excel.workbooks.open
except
ExcelWorkbook := Null;
bResult := False;
end;

If VarIsNull(ExcelWorkbook) = False then
begin
Try
ExcelWorkbook.ExportAsFixedFormat(0, sPDFFileName, 0, bIncludeDocProperties, bIgnorePrintArea, iPageFrom, iPageTo, bOpenAfterPublish, EmptyParam);
// Referenz
//https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.exportasfixedformat
Außer
bResult := False;
Ende;
Ende;